Android 软键盘交互

来源:互联网 发布:js 判断一个元素在列表 编辑:程序博客网 时间:2024/06/05 05:39

今天碰到一个需求,当用户进入搜索界面内后,弹出键盘,键盘右下角回车键变成“搜索”样式,当用户输入内容后,点击搜索按钮将进行关键词搜索,当用户没有输入内容点击搜索按钮,将收起键盘,回到发现界面。这样的需求以前的也碰到过,唯一的区别就是要键盘右下角回车键前程“搜索”样式,百度到了解决办法,在此记录一下。

方法很简单,在EditText中设置两个属性:
android:imeOptions=”actionSearch”
android:singleLine=”true”
这两个属性必须一起设置,不然不会生效。

在没有设置imeOptions属性的情况下,设置了inputType或者singleLine=”true”(即无法换行的情况下),如果当前EditText下面还有EditText,焦点会跳到下一个EditText去,软键盘也不会隐藏,如果当前EditText下面没有EditText了,则会隐藏软键盘。

在此基础上再来看imeOptions的其他常用属性:
actionGo : 前往
actionSearch : 搜索
actionSend : 发送
actionDone : 完成,即使不是最后一个EditText,也会隐藏软键盘
actionNext : 下一项

        editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {            @Override            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {                if(  actionId == EditorInfo.IME_ACTION_SEARCH){                   Toast.makeText(MainActivity.this, "search", Toast.LENGTH_SHORT).show();                }                return false;            }        });
原创粉丝点击