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属性使用及设置无效解决

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

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

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

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

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

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

输入法Enter键图标的设置: 软件盘的界面替换只有一个属性android:imeOptions,这个属性的可以取的值有 normal,actionUnspecified,actionNone,a...

edittext的imeOptions属性和android软键盘的使用

edittext的一些属性。用到一个edittext的时候,弹出来的软键盘是全屏的,除了软键盘,输入的容器占据了屏幕剩余的地方。很明显不是我们想要的。 其实只要设置 android:imeOption...

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

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

Android EditText imeOptions属性详解

在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标。例如:  点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往...

Android之EditText imeOptions属性解析

在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标。例如:  点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往;...

Android EditText imeOptions属性详解

在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标。例如: 点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往;...

浅谈Android组件EditText的imeOptions属性

我们有时为了提升app的用户体验,想在用户注册或者登录时,输入完最后一个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EditText中imeOptions属性使用及设置无效解决
举报原因:
原因补充:

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