有关EditText

在Android开发中,经常需要提供用户与应用交互的界面,EditText是最为常用的一种可提供交互的控件。

1、EditText中所有文字颜色的设置:

在xml布局文件中,android:textColor是设置输入文字的颜色,android:textColorHint则是设置提示语文字的颜色。


2、EditText设置软键盘的回车键的监听事件

EditText为我们提供了一个属性imeOptions用来替换软键盘中enter键的外观,如actionDone会使外观变成“完成”。

下面列出比较经常用到的几个属性以及替换的文本外观:

  actionUnspecified        未指定         EditorInfo.IME_ACTION_UNSPECIFIED.  
  actionNone                 动作             EditorInfo.IME_ACTION_NONE 
  actionGo                    去往             EditorInfo.IME_ACTION_GO
  actionSearch               搜索             EditorInfo.IME_ACTION_SEARCH    
  actionSend                 发送             EditorInfo.IME_ACTION_SEND   
  actionNext                 下一项           EditorInfo.IME_ACTION_NEXT   
  actionDone                 完成             EditorInfo.IME_ACTION_DONE 

设置的方法可以在布局文件中设置 android:imeOptions="actionNext" 或者在代码中 mUserEdit.setImeOptions(EditorInfo.IME_ACTION_NEXT);

下面是在代码中重写回车事件

第一种方式:

  1. editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {  
  2.             @Override  
  3.             public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
  4.                 if (actionId == EditorInfo.IME_ACTION_SEARCH) {
  5. //EditorInfo.IME_ACTION_SEARCH、EditorInfo.IME_ACTION_SEND等分别对应EditText的imeOptions属性  
  6.                     //TODO回车键按下时要执行的操作  
  7.                 }  
  8.                 return false;  
  9.             }  
  10.         });
第二种方式:

  1. editText.setOnKeyListener(new View.OnKeyListener() {  
  2.             @Override  
  3.             public boolean onKey(View v, int keyCode, KeyEvent event) {  
  4.                 if (keyCode == KeyEvent.KEYCODE_NUMPAD_ENTER&& event.getAction() == KeyEvent.ACTION_UP) {  
  5.                     //TODO:回车键按下时要执行的操作  
  6.                 }  
  7.                 return false;  
  8.             }  
  9.         });  
if语句的条件判断是因为 按下和松开确认键都会触发OnKeyListener的回调(否则会执行两次)


3、EditText几个常用的属性:

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

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

android:capitalize="abcde" 这样仅允许接受输入abcde,一般用于密码验证

android:hint="密码"  设置显示的提示信息

android:singleLine="true"  设置单行输入,这样就不会自动换行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值