android学习

Android EditText 实现软键盘搜索按钮

2019-03-05  本文已影响0人  android_haihong

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

这个直接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);
    }

上一篇下一篇

猜你喜欢

热点阅读