android:imeOptions属性详解以及无效处理
软键盘的Enter键默认显示的是“完成”文本,我们知道按Enter建表示前置工作已经准备完毕了,要去什么什么啦。比如,在一个搜索中,我们输入要搜索的文本,然后按Enter表示要去搜索了,但是默认的Enter键显示的是“完成”文本,看着不太合适,不符合搜索的语义,如果能显示“搜索”两个字或者显示一个表示搜索的图标多好。事实证明我们的想法是合理的,Android也为我们提供的这样的功能。通过设置android:imeOptions来改变默认的“完成”文本。这里举几个常用的常量值:
(1)actionUnspecified未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED效果:
(2)actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE效果:
(3)actionGo去往,对应常量EditorInfo.IME_ACTION_GO 效果:
(4)actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH效果:
(5)actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND效果:
(6)actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT效果:
(7)actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE效果:
android:imeOptions="flagNoExtractUi"//使软键盘不全屏显示,只占用一部分屏幕 同时,
这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键
android:imeOptions="actionNone"//输入框右侧不带任何提示
android:imeOptions="actionGo"//右下角按键内容为'开始'
android:imeOptions="actionSearch"//右下角按键为放大镜图片,搜索
android:imeOptions="actionSend"//右下角按键内容为'发送'
android:imeOptions="actionNext"//右下角按键内容为'下一步' 或者下一项
android:imeOptions="actionDone"//右下角按键内容为'完成'
注意:如果设置了 键盘没有变化 那么需要单独加一些其他的属性 配合使用
xml中 属性设置:
1 将singleLine设置为true
2 将inputType设置为text
java代码设置- editText.setInputType(EditorInfo.TYPE_CLASS_TEXT);
- editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
更多相关文章
- android 中用代码模拟发送按键
- MediaButtonReceiver---独特的媒体广播接收器
- 实现Android监控任意控件或按键双击事件方法
- Android(安卓)按键映射 驱动
- Android(安卓)4.0以上设备虚拟按键中显示Menu键
- Android键盘系统——改变按键功能(2)
- android修改按键的映射
- Android(安卓)传感器系列教程
- Android(安卓)添加新的键值,自定义按键