你好我想让我的EditText在我点击它时占据我的所有工具栏,我希望在用户结束输入后让工具栏恢复正常。
这是我的菜单
的xml文件<item android:id="@+id/action_search"
android:title="search"
android:orderInCategory="100"
android:icon="@drawable/search"
app:showAsAction="ifRoom"
/>
这是我的java代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.action_search :
search.setHint("Procura");
toolbar.addView(search);
toolbar.setBackgroundColor(Color.WHITE);
search.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH ||
actionId == EditorInfo.IME_ACTION_DONE ||
event.getAction() == KeyEvent.ACTION_DOWN &&
event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
// the user is done typing.
SearchActivity.this.text = search.getText().toString();
return true;
}
return false;
}
});
return true;
default : return super.onOptionsItemSelected(item);
}
}
提前谢谢。
答案 0 :(得分:1)
我建议您使用SearchView,尝试这种方式
摇篮
dependencies {
compile 'com.lapism:searchview:2.2'
}
XML
<com.lapism.searchview.view.SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Java代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_search: {
mSearchView.show(true/false); // animate, ONLY FOR MENU ITEM
return true;
}
default:
return super.onOptionsItemSelected(item);
}
}
答案 1 :(得分:0)
看看这个图书馆,这是你所寻找的 https://github.com/Mauker1/MaterialSearchView
答案 2 :(得分:0)
你可以尝试检测用户何时关闭softKeyboard以隐藏或恢复工具栏,检查这个答案,也许你可以得到你想要的东西