Android: EditText设置属性和设置输入规则

1.EditText输入限制规则

在xml:EditText 设置属性

android:digits="ABCDE123&*"

ABCDE123&*是你的限制规则

例如:android:digits="0123456789abc"

规则是只能输入英文字母(小写)abc和数字

2.EditTex输入的文字为密码形式

(1)在xml中设置

android:password="true" //以"."形式显示文本

(2)在代码里设置

通过设置EditTex的setTransformationMethod()方法来实现隐藏密码和显示密码

editText.setTransformationMethod(PasswordTransformationMethod.getInstance());

//设置密码不可见

3.EditTex输入的文字为电话号码

android:phoneNumber="true"//输入电话号码

4.EditTex字数限制

(1)在xml中设置

android:maxLength="50"

(2)在代码中设置

editText.setFilters(new InputFilter[]{newInputFilter.LengthFilter(100)});

5.EditTex是否可编辑

android:editable="true"//可编辑,false不可编辑

6.在EditText中软键盘的调起、关闭

(1)EditTex有焦点(focusable为true)阻止输入法弹出

editText.setOnTouchListener(new OnTouchListener(){

public boolean onTouch(View view,MotionEvent event){

editText.setInputType(Input.TYPE_NULL);//关闭软键盘

return false;

}});

(2)EditText无焦点(focusable=false)时阻挡输入法弹出

InputMethodManager imm=(InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);

imm.hideSoftInputFromWindow(editText.getWindowToken(),0);

(3)调用数字键盘并设置输入类型和键盘为英文

editText.setInputType(InputType.TYPE_CLASS_NUMBER);//调用数字键盘

editText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);//英文

(4)键盘永远不会弹出

android:focusable="false"// 键盘永不弹出

7.软键盘的调起导致原来的界面被挤上去,或者导致界面下面的tab导航被挤上去,解决方法如下

使用Mainfest中的Activity的android:windowSfotInputMdoe的“adjustPan"属性

另外注意:有关软键盘的问题可参考android:windowSoftInputMode中的属性

8.光标详解

editText.requestFocusFromTouch();//让光标放入到点击位置

editText.requestFocus();//默认方式获得焦点

editText editor=(EditText)getCurrentView();//光标插入

int cursor=editor.getSelectionStart();//光标插入

editor.getText().inset(cursor,delta);

Android EditText 属性汇总

android:layout_gravity="center_vertical" 设置控件显示的位置:默认top,这里居中显示,还有bottom android:hint="请输入数字!"

设置显示在空间上的提示信息 android:numeric="integer" 设置只能输入整数,如果是小数则是:

decimal android:singleLine="true" 设置单行输入,一旦设置为true,则文字不会自动换行。

android:password="true" 设置只能输入密码

android:textColor = "#ff8c00" 字体颜色

android:textStyle="bold" 字体,bold, italic, bolditalic android:textSize="20dip" 大小

android:capitalize = "characters" 以大写字母写

android:textAlign="center" EditText没有这个属性,但TextView有 android:textColorHighlight="#cccccc" 被选中文字的底色,默认为蓝色

android:textColorHint="#ffff00" 设置提示信息文字的颜色,默认为灰色 android:textScaleX="1.5" 控制字与字之间的间距

android:typeface="monospace" 字型,normal, sans, serif, monospace android:background="@null" 空间背景,这里没有,指透明

android:layout_weight="1" 权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。

android:textAppearance="?android:attr/textAppearanceLargeInverse" 文字外观,这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。不知道这样理解对不对? 通过EditText的layout xml文件中的相关属性来实现:

1. 密码框属性 android:password="true" 这条可以让EditText显示的内容自动为星号,输入时内容会在1秒内变成*字样。

2. 纯数字 android:numeric="true" 这条可以让输入法自动变为数字输入键盘,同时仅允许0-9的数字输入

3. 仅允许 android:capitalize="cwj1987" 这样仅允许接受输入cwj1987,一般用于密码验证 下面是一些扩展的风格属性

android:editable="false" 设置EditText不可编辑

android:singleLine="true" 强制输入的内容在单行

android:ellipsize="end" 自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示时

时间: 2024-08-10 19:19:10

Android: EditText设置属性和设置输入规则的相关文章

Android EditText截获与监听输入事件

Android EditText截获与监听输入事件共有2种方法: 1.第一种方法:使用setOnKeyListener(),不过这种方式只能监听硬键盘事件. edittext.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { textview.setText(edittext.getText()); return fal

Android 的系统属性(SystemProperties)设置分析

1. JAVA 层与内部so之间调用 java层的权限,KEY,value的定义规则与要求 http://www.blogjava.net/anymobile/articles/301989.html Android SystemProperties设置/取得系统属性的用法总结 http://blog.csdn.net/ameyume/article/details/8056492 1.Android SystemProperties简介 介绍了设置属性需要的权限,已经设置权限的方法. Syst

Android EditText的属性

8.EditText的属性很多 这里介绍几个: android:hint="请输入数字!"//设置显示在空间上的提示信息 android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行. android:password="true"//设置只能输入密码 android:textC

android EditText问题多行文本输入

一旦习惯了网络和swing在文本框输入,我们Android突然缺乏这样的管制,刚开始使用它是相当费力.为了要实现多行文本输入框和显示.逐一克服这些问题,如下面: 1. 怎么做EditText显示区域在文本框中输入: 2. 示: 3. 怎样是设置卷轴. 4. 怎样固定文本框的大小. 5. 怎样让文本框显示边线: 为了达到例如以下的效果.我们做了例如以下的工作: <EditText android:id="@+id/add_content" android:layout_width=

Android EditText控件即设置最小高度又运行高度随内容增加而变化

(转)http://www.aichengxu.com/view/1405748   记录学习用 如题,有时候EditText需要一个最小的高度,但是在输入更多内容时,要随着内容的增加而变化高度,一般都是增加.这时我们可以利用EditText的minLines属性. 即最小行数,只要我们指定了minLines属性,同时将layout_height 设置为wrap_content ,即可实现我们的目的. <EditText android:id="@id/shareadd_content&q

Android EditText imeOptions属性详解

在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标.例如: 点击浏览器网址栏的时候,输入法软键盘右下角会变成"GO"或"前往: 而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者"搜索". 而决定这个图标的变换的参数就是EditText中的 android:imeOptions属性.android:imeOptions的值有actionGo. actionSend .

android EditText如何使光标随着输入内容移动

EditText 使光标随着输入内容移动的setSelection()

Android EditText的设置(转)

1.输入法Enter键图标的设置: 软件盘的界面替换只有一个属性android:imeOptions,这个属性的可以取的值有normal,actionUnspecified,actionNone,actionGo,actionSearch,actionSend,actionNext,actionDone,例如当值为actionNext时enter键外观变成一个向下箭头,而值为actionDone时enter键外观则变成了“完成”两个字. 我们也可以重写enter的事件 软键盘的Enter键默认显

Android textAppearance的属性设置及TextView属性详解

textAppearance的属性设置 android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceLarge" TextView属性详解 android:autoLi