Android EditText

1.阻止进入界面就显示输入法:
在父layout设置获取焦点
android:focusable="true"
android:focusableInTouchMode="true"
或者
设置该EditText的焦点为false
或者
在manifest.xml中对应activity添加android:windowSoftInputMode="stateHidden"

2.键盘弹出时输入框被压缩
输入框获得焦点弹出软键盘时,输入框被压缩,字体上浮,同时背景出现问题。
网上解决方法是添加:
android:windowSoftInputMode="stateHidden|adjustResize"
或者
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
                             | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
又或者
在外层布局中添加scrollView,因为scrollView只允许包含一个子View,所以如果出现问题布局已有外层layou,直接嵌套在ScrollView中即可,如下:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <!-- your layout -->
</ScrollView>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    <!-- your layout -->
    </RelativeLayout>
</ScrollView>

3.设置边框:

不显示边框:
background="@null"

设置边框颜色及边框厚度:
在drawable中建一个xml文件:shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 填充, android:color指定填充的颜色 -->  
    <solid android:color="#00ff00ff"/>
    <!-- 圆角 -->  
    <corners android:radius="8px"/>
    <!-- 描边 -->  
    <stroke android:color="#32CD32" android:width="2px" />
    <!-- 渐变,android:startColor和android:endColor分别为起始和结束颜色, android:angle是渐变角度,必须为45的整数倍。android:type渐变模式 -->  
    <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:angle="270" />
</shape>

background="@drawable/shape"

时间: 2024-10-15 01:44:04

Android EditText的相关文章

自定义绘制android EditText的背景,定义EditText文字的显示样式

EditText可以通过layer-list来绘制背景: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" //框为矩形 > &l

android editText 软键盘enter键图标的设置

<EditText android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入单位" android:layout_marginLeft="10dp" android:layout_marginRight="1

自定义的Android EditText

这是一个指定EditText,在我们的实际开发中,可以直接拿来用就行了,先上图看效果:        简单介绍下:当文本框有字符串时,在右边会显示一个清除的图标.点击清除的图标可以清除文本框的内容. 先上自定义编辑框代码:代码比较简单,值得注意的是onTouchEvent方法.这个是一个触摸事件,主要捕获清除图标,模拟点击事件. 1 package cn.datian.customedit; 2 3 import android.content.Context; 4 import android

android EditText多行文本输入的若干问题

以前习惯了网页以及swing上的文本框输入,现在到Android上突然没有了这种控件,刚开始使用起来还是比较费力的.为了想实现多行文本框的输入及显示效果,逐一解决了如下问题: 1. 如何让EditText显示成为一个文本框的区域用来输入: 2. 光标从首行开始显示: 3. 如何是设置卷轴: 4. 如何固定文本框的大小. 5. 如何让文本框显示边线: 为了达到如下的效果,我们做了如下的工作: <EditText android:id="@+id/add_content" andro

android EditText获取光标位置并安插字符删除字符

android EditText获取光标位置并插入字符删除字符1.获取光标位置int index = editText.getSelectionStart(); 2.在光标处插入字符int index = editText.getSelectionStart();Editable editable = editText.getText();editable.insert(index, "aaaa");3.删除光标前字符int index = editText.getSelectionS

Android EditText不弹出输入法焦点问题的总结

转自:http://mobile.51cto.com/aprogram-403138.htm 看一个manifest中Activity的配置,如果这个页面有EditText,并且我们想要进入这个页面的时候默认弹出输入法,可以这样设置这个属性:android:windowSoftInputMode=stateVisible,这样就会默认弹起输入法,当然还有别的办法. 1 <activity android:name=".ui.login" 2 android:configChang

Android EditText属性说明

1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以”.”形式显示文本 (2)在代码里设置: 通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码. editText.setTransformationMethod(PasswordTransformationMethod.getInstance());//设置密码为不可见. 2

android EditText控件如何禁止输入内容

问题? android EditText控件如何禁止往里面输入内容? 修改版解决方法: EditText editText =  (EditText) findViewById(R.id.editText1); editText.setKeyListener(null); 看到这个问题大家可能有点奇怪了,EditText的功能不就是往上面写入内容吗? 再者,如果真要禁止输入文本,在布局文件中添加 android:focusable="false", 或者在代码中使用editText.s

android EditText 限制输入大小写,大写转小写

在写登录验证的时候,需要将用户输入的大写字符转化为小写.看了下API,只有InputFilter.AllCaps是将EditText 的小写英文字符转化为大写.好吧.依赖AllCaps在写个类似的InputFilter吧.基本上Copy AllCaps的代码,只改了两行.大家看代码吧 import android.text.InputFilter; import android.text.SpannableString; import android.text.Spanned; import a

Android EditText 文本长度限制(按照一个汉字占俩长度 类似字节)

Android EditText 文本长度限制有很简单的一种限制方式:在xml布局文件中对EditText添加 Android:maxLength="N" 但是这种简单的方式可能有时候不能满足某些比较较真的需求,这个时候就需要用别的的方式去限制长度了. 也就是通过InputFilter来实现: private class NameLengthFilter implements InputFilter { int MAX_EN; String regEx = "[\\u4e00