Android EditText 实现软键盘搜索按钮

记录一下如何把软键盘的回车按键变成搜索按键
这个估计大部分人也经常用的到

这个直接xml文件设置 EditText 三个属性

android:imeOptions="actionSearch"
android:singleLine="true"
android:maxLines="1"

网上有些直接用 android:imeOptions="actionSearch"
这样是不够的 而 android:maxLines="1"这个是为了防止点击回车键换行,我个人认为也是有必要的

<EditText
    android:id="@+id/search_input"
    android:background="#00000000"
    android:layout_width="30dp"
    android:layout_height="match_parent"
    android:ellipsize="end"
    android:hint="搜索"
    android:imeOptions="actionSearch"
    android:singleLine="true"
    android:maxLines="1"
    android:textSize="15sp" />

然后需要监听软键盘的搜索然后

EditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                    //点击搜索的时候隐藏软键盘
                    hideKeyboard(EditText);
                    // 在这里写搜索的操作,一般都是网络请求数据
                    return true;
                }
 
                return false;
            }
        });

        /**
     * 隐藏软键盘
     * @param context :上下文
     * @param view    :一般为EditText
     */
    public void hideKeyboard(View view) {
        InputMethodManager manager = (InputMethodManager) view.getContext()
                .getSystemService(Context.INPUT_METHOD_SERVICE);
        manager.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容