开启android软键盘搜索功能

在进行android程序开发过程中,一般情况下在输入框获取焦点后或者输入内容前android手机会自动弹出系统的软键盘。通常情况下,此时的软键盘只包含基本的字母、标点符号、删除键和换行键等基本的功能区域,不包含搜索区域。如下图所示:


  有些情况下,由于项目需求或设计的需要,我们需要开启并监听android手机软键盘的功能,那么怎么做呢?很简单,具体的操作说明如下。

  (一)第一步,在目标输入框的布局文件上加上一个属性android:imeOptions="actionSearch"


android:imeOptions属性android手机软键盘设置时的一个重要的属性,主要的功能是设置软键盘上输入内容后接下来要做什么样的事情。该属性通常有7种值,分别是actionUnspecified | actionNone | actionGo | actionSearch | actionSend | actionNext | actionDone,不同的代表不同的功能,软键盘右下角也会显示不同的图标或文字与之对应。

actionUnspecified : 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED效果 

 android:imeOptions="actionNone"   : 输入框右下角不带任何图标或文字提示

android:imeOptions="actionGo" : 右下角按键内容一般为“去往”,通常可以用作APP链接的跳转

android:imeOptions="actionSearch"  : 右下角按键为放大镜图片,通常执行搜索的功能

 android:imeOptions="actionSend"   :  右下角按键内容为“发送” 

android:imeOptions="actionNext"  : 右下角按键内容为“下一步”

 android:imeOptions="actionDone" : 右下角按键内容为“完成”


(二)第二步搜索键的事件监听

为输入框绑定setOnEditorActionListener监听事件


      

上面就完成了android系统软键盘基本的使用。另外,需要额外说明一下,有时android软键盘弹出时会把已经存在的布局顶到键盘的上方,尤其是在包含ScrollView且内容超过一屏的时候往往都会发生。此时,解决方式可以在manifest文件目标activity的声明中设置android:windowSoftInputMode="adjustPan"即可以覆盖的形式显示软键盘了。最终的样式如下