今天要完成一个搜索功能,产品来告诉我按照淘宝那样的搜索,其他没问题,就是在软键盘上他们竟然有一个搜索的按钮,以前没发现。点击之后还能执行搜索的操作,这是怎么做出来的呢,后来查了一下原来是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 就这两部就完成了。