软键盘的显示问题 imeOptions

原创 2015年11月18日 14:16:31

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

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

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

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

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

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


  1. <EditText  
  2.       android:id="@+id/editText"  
  3.       android:layout_width="200dp"  
  4.       android:layout_height="wrap_content"  
  5.       android:imeOptions="actionSearch"  
  6.    /> 
android studio 另一种方式
android:imeOptions="flagNoExtractUi|actionDone"
 

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

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


  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

  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代码设置

  1. editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH);  
  2. editText.setInputType(EditorInfo.TYPE_CLASS_TEXT);  
  3. editText.setSingleLine(true); 

Android软键盘输入imeOptions

android:imeOptions根据输入框输入完成后要执行的业务逻辑指定软键盘右下角Action按钮的样式和行为,如让右下角按钮显示为“搜索”,点击后执行搜索逻辑。imeOptions 有下面一些...
  • tsdfk1455
  • tsdfk1455
  • 2017年12月02日 22:46
  • 126

Android键盘使用问题汇总

1、android:windowSoftInputMode 1、当有焦点产生时,软键盘是隐藏还是显示 2、是否减少活动主窗口大小以便腾出空间放软键盘 2、android:imeOptions="...
  • heqiangflytosky
  • heqiangflytosky
  • 2015年02月11日 16:25
  • 868

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

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

Android Edittext设置android:imeOptions="actionSearch"不起作用

最近在做一个搜索的输入框,在edittext上加入android:imeOptions="actionSearch"这个属性也不好使,最后发现在2.3及以上版本不起作用,2.3一下就好使,经过试验,最...
  • hanhailong726188
  • hanhailong726188
  • 2014年12月10日 15:06
  • 11979

android EditText多行显示并且支持imeOptions设置

android EditText 单行显示并且设置imeOptions很简单,条件是在xml中将singleLine设置为true, 将inputType设置为text,多行显示默认是不能设置,默认是...
  • jifashihan
  • jifashihan
  • 2016年02月20日 15:43
  • 1445

Android 设置imeOptions无效,解决方案

需要在Edittext设置, android:inputType="text"或者 android:singleLine="true"
  • u011135662
  • u011135662
  • 2016年09月06日 16:17
  • 456

android 软键盘,右下角 内容设置

使用android:imeOptinos可对Android自带的软键盘进行一些界面上的设置: android:imeOptions="flagNoExtractUi" //使软键盘不全屏显示,只占用...
  • xiaoluoli88
  • xiaoluoli88
  • 2016年02月18日 09:58
  • 1221

Android 软键盘事件imeOptions响应

在android发开过程中,有时候需要对EditText的软键盘进行监听。 当点击软键盘回车位置按键的时候,需要实现 完成、前进、下一项、搜索、发送或其他功能,这就需要开发者对软键盘回车的点击事件进...
  • liuweiballack
  • liuweiballack
  • 2015年07月01日 11:58
  • 12346

android edittext设置actionSearch不生效的处理

今天遇到了一个问题是,需求要求项目的一个EditText,实现想苹果app一样, 在输入法的软键盘上显示搜索的操作。 遇到这个问题的第一个想法就是给EditText设置一个android:ImeOp...
  • u012630168
  • u012630168
  • 2015年06月16日 17:29
  • 809

Android 软键盘imeOptions(Done)的用法

前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net       ...
  • luckkof
  • luckkof
  • 2013年11月18日 09:55
  • 1863
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软键盘的显示问题 imeOptions
举报原因:
原因补充:

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