工具栏

时间:2016-05-08 21:31:19

标签: android android-edittext android-toolbar

你好我想让我的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);
    }
}

提前谢谢。

3 个答案:

答案 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以隐藏或恢复工具栏,检查这个答案,也许你可以得到你想要的东西

Detecting when user has dismissed the soft keyboard