EditText中imeOptions属性使用及设置无效解决

转载 2016年05月31日 19:12:43

虽然通常输入法软键盘右下角会是回车按键

但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标

点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往”

而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者“搜索”

而决定这个图标的变换的参数就是EditText中的 Android:imeOptions

android:imeOptions的值有actionGo、 actionSend 、actionSearch、actionDone等,这些意思都很明显


[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <EditText  
  2.       android:id="@+id/editText"  
  3.       android:layout_width="200dp"  
  4.       android:layout_height="wrap_content"  
  5.       android:imeOptions="actionSearch"  
  6.    />  



而其在Java代码中对应的值为EditorInfo.IME_ACTION_XXX 

在代码中通过editText.setOnEditorActionListener方法添加相应的监听,因为有些action是需要在代码中添加具体的相关操作的


[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. EditText editText = (EditText) contentView.findViewById(R.id.editText);  
  2.         editText.setOnEditorActionListener(new OnEditorActionListener() {  
  3.             @Override  
  4.             public boolean onEditorAction(TextView v, int actionId,  
  5.                     KeyEvent event) {  
  6.                 if (actionId == EditorInfo.IME_ACTION_SEARCH) {  
  7.                     Toast.makeText(getActivity(), "1111111",Toast.LENGTH_SHORT).show();  
  8.                 }  
  9.   
  10.                 return false;  
  11.             }  
  12.         });  

然而当我们设置这一切后,却发现点击输入框,输入法键盘完全没变化,还是回车键

这并不是上面的属性和方法无效,而是我们还需要设置别的属性来使它们生效

经过试验 设置下面两个属性中的一个即可使这个属性生效(应该还有其他的属性也可以,没去试验)

1 将singleLine设置为true

2 将inputType设置为text 

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <EditText  
  2.       android:id="@+id/editText"  
  3.       android:layout_width="200dp"  
  4.       android:layout_height="wrap_content"  
  5.       android:imeOptions="actionSearch"  
  6.       android:singleLine="true"  
  7.       android:inputType="text"  
  8.    />  


java代码设置

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH);  
  2. editText.setInputType(EditorInfo.TYPE_CLASS_TEXT);  
  3. editText.setSingleLine(true);  




http://blog.csdn.net/lastdream/article/details/24365633

EditText中imeOptions属性使用及设置无效解决

我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标
  • lastdream
  • lastdream
  • 2014年04月23日 15:22
  • 42049

android:imeOptions属性详解以及无效处理

软键盘的Enter键默认显示的是“完成”文本,我们知道按Enter建表示前置工作已经准备完毕了,要去什么什么啦。比如,在一个搜索中,我们输入要搜索的文本,然后按Enter表示要去搜索了,但是默认的En...
  • shaoyezhangliwei
  • shaoyezhangliwei
  • 2015年04月01日 13:55
  • 7148

EditText设置ImeOptions无效问题

EditText的ImeOptions属性当我们使用EditText的时候,经常会有改变键盘回车键功能的需求,例如把EditText当做搜索框使用时,就需要把回车键改为搜索键。想要达到这个效果可以通过...
  • guiying712
  • guiying712
  • 2016年11月30日 19:23
  • 3459

EditText中imeOptions属性使用及设置无效解决

y 虽然通常输入法软键盘右下角会是回车按键 但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标 点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO...
  • h7832329
  • h7832329
  • 2014年10月11日 14:54
  • 805

EditText中imeOptions属性使用及设置无效解决

虽然通常输入法软键盘右下角会是回车按键 但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标 点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往” 而...
  • GOO12
  • GOO12
  • 2015年03月11日 15:22
  • 378

EditText中imeOptions属性使用及设置无效解决

我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标
  • lastdream
  • lastdream
  • 2014年04月23日 15:22
  • 42049

EditText中imeOptions属性设置无效时解决方法

虽然通常输入法软键盘右下角会是回车按键 但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标 点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往” 而...
  • luo451591667
  • luo451591667
  • 2016年07月12日 11:13
  • 217

android EditText中imeOptions属性设置无效解决方案

通常输入法软键盘右下角会是回车按键 但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标 点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往” 而我们...
  • u011467537
  • u011467537
  • 2016年01月18日 15:52
  • 589

在edittext中设置imeOptions属性,改变输入法回车键样式以及作用

Enter键图标的设置 软键盘的Enter键默认显示的是“完成”文本,我们知道按Enter建表示前置工作已经准备完毕了,要去什么什么啦。比如,在一个搜索中,我们输入要搜索的文本,然后按Enter...
  • choubaoguai
  • choubaoguai
  • 2014年04月01日 14:10
  • 754

Android 关于EditText的imeOptions属性以及设置"回车"按钮的事件监听器

输入法Enter键图标的设置: 软件盘的界面替换只有一个属性android:imeOptions,这个属性的可以取的值有 normal,actionUnspecified,actionNone,a...
  • liuxiaoddd
  • liuxiaoddd
  • 2014年06月09日 10:57
  • 922
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EditText中imeOptions属性使用及设置无效解决
举报原因:
原因补充:

(最多只允许输入30个字)