EditText点击的时候软键盘上出现搜索按钮

时间:2023-02-19 23:52:02

    今天要完成一个搜索功能,产品来告诉我按照淘宝那样的搜索,其他没问题,就是在软键盘上他们竟然有一个搜索的按钮,以前没发现。点击之后还能执行搜索的操作,这是怎么做出来的呢,后来查了一下原来是EditText的一个属性不是很复杂,记录一下。

   要实现这个功能首先在我们的xml中EditText上加上imeOptions属性。

 <EditText
            android:id="@+id/et_search"
            android:layout_width="match_parent"
            android:layout_height="26dp"
            android:layout_weight="1"
            android:gravity="center"
            android:layout_margin="10dp"
            android:drawableLeft="@mipmap/search"
            android:background="@drawable/shape_corners"
            android:hint="@string/input_device_message"
            android:inputType="text"
            android:imeOptions="actionSearch"
            />

imeOptions有几个选项:

   actionSearch:出现“search”的按钮 中文“搜索”

   actionGo: 出现“go”的按钮 中文 “走”

   actionSend:出现“send”按钮 中文“发送”

   actionNext:出现 “next”按钮 中文 “下一步”

   actionDone:出现 “done”按钮 中文 “完成”

   actionPrevious:出现“precious”按钮 中文 “上一步”

这些都是一些我感觉比较常用的action,还有一些别的状态,用到时候可以查看下文档。

   然后就是给这个按钮添加点击的事件了:

et_search.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if(actionId == EditorInfo.IME_ACTION_SEARCH){
                    //完成自己的事件
                }
                return false;
            }
        });
   OK 就这两部就完成了。