欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android 软键盘交互

程序员文章站 2022-04-19 23:53:21
...

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

方法很简单,在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;
            }
        });