整理 Android EditText 的相关属性的使用

1. EditText 输入的文字为密码的形式

android:password = "true"
editText.setTransformationMethod(PasswordTransformMethod.getInstance());

2. EditText 输入的文字为电话号码

android:phoneNumber = “true”

3. EditText 字数限制的设置

android:maxLength = “11”

editText.setFilters(new inputFilter[]{newInputFilter.LengthFilter(11)})

4. EditText 设置字体

android:typeface = “monospace”

5. EditText 是否可以编辑

android:editable = “false”

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

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

editText = (EditText) findViewById(R.id.txtBody);
editText.setOnTouchListener(new OnTouchListener(){
  public boolean onTouch(View v, MotionEvent event){
    editText.setInputType(InputType.TYPE_NULL);// 关闭软键盘
    return false;
  }
});

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

InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(),0);

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

etNumber.setInputType(InputType.TYPE_CLASS_NUMBER); // 调用数字键盘
editText.setInputType(InputType.TYPE_TEXT_FLAG_NULTI_LINE); 
// 设置输入类型和键盘为英文或者 android:inputType = "textUri | textMultiLine"

(4)android:focusable = “false” // 键盘永远不会弹出

7. android:layout_gravity 和 android:gravity 的区别

(1)android:layout_gravity 是本元素对父元素的重力方向
(2)android:gravity 是本元素所有子元素的重力方向

8. android:numeric // 只接受数字

一共有三种形式:integer(正整数)、signed(带符号整数)、decimal(浮点数)

9. 使用android:imeOptions 可对 Android 自带的软键盘进行一些界面上的设置:

// 使软键盘不全屏显示,只占用一部分屏幕,同时这个属性还会降控制软键盘右下角按键的显示内容,
默认情况下为回车键
android:imeOptions = “flagNoExtractUi”
// 输入框右侧不带任何提示
android:imeOptions=“actionNone”
// 右下角按键内容为’开始’
android:imeOptions=”actionGo”
// 右下角按键为放大镜图片,搜索
android:imeOptions=”actionSearch”
// 右下角按键内容为‘发送’
android:imeOptions=”actionSend”
// 右下角按键内容为‘下一步’
android:imeOptions=”actionNext”
// 右下角按键内容为’完成’
android:imeOptions=”actionDone”

10. 限定 editText 能输入数字和字母,并且默认输入数字,比如身份证号码

android:inputType = “number”
android:digits = “0123456789xyzXYZ”

11. 软件盘的调起导致原来的界面被挤上去,或者导致界面下面的tab导航被挤上去,解决方案如下:

使用 manifest 中 Activity 的 android:windowSoftInputMode 的”adjustPan”属性
另外注意:有关软键盘的问题可以参考 android:windowSoftInputMode 的属性

12. editText 光标详解

// 让光标放入到点击位置
editText.requestFocusFromTouch();
// 默认方式获得焦点
editText.requestFocus();
// 光标处插入
EditText editor = (EditText) getCurrentView();
int cursor = editor.getSelectionStart();
editor.getText().insert(cursor, delta);
// 让光标移动末端(这样文字就会向前显示)
EditText et =
String text = “text”;
et.setText(text);
et.setSelection(text.length());

android:cursorVisible = “false” // 隐藏光标
android:background = “#00000000” // 不要文本框背景

13. 部分属性

android:singleLine = “true”
android:password = “true”
android:textColor = “#ff8c00”
android:textStyle = “bold/italic”
android:capitalize = “characters” // 以大写字母写
android:textColorHint=”#ffff00” 设置提示信息文字的颜色,默认为灰色
android:textColorHightlight = “#cccccc” 被选中文字的底色,默认为蓝色
android:textScaleX = “1.5” 控制字与字之间的间距
android:ellipsize= “end” 自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示的时候

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值