【问题标题】:android collapsable searchview with custom header带有自定义标题的android可折叠搜索视图
【发布时间】:2015-05-29 01:46:15
【问题描述】:

我需要使用最佳方式显示带有自定义标题的搜索视图的建议。

我的标题布局最初应该是这样的

并且点击标题右侧的搜索按钮后,必须像这样用搜索输入字段替换标题标题和菜单图标部分。

在这种状态下按回,应该直接回到初始状态。

我该怎么做?

【问题讨论】:

    标签: android searchview collapsable custom-headers


    【解决方案1】:

    在菜单资源目录中
    search_country_menu.xml

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:app="http://schemas.android.com/apk/res-auto">
        <item
            android:id="@+id/action_search"
            android:icon="@drawable/abc_ic_search"
            app:showAsAction="always|collapseActionView"
            android:orderInCategory="0"
           app:actionViewClass="android.support.v7.widget.SearchView"/>
    
    </menu>
    

    **在Activity的onCreateOptionmenu方法中**

    public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.search_country_menu, menu);
            SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
            searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
            searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
            menu.findItem(R.id.action_search).expandActionView();
            searchView.setQueryHint(getResources().getString(R.string.select_country));
            searchView.setImeOptions(EditorInfo.IME_ACTION_DONE);
    
            searchView.setOnQueryTextListener(new OnQueryTextListener() {
    
                @Override
                public boolean onQueryTextSubmit(String arg0) {
                    searchView.clearFocus();
                      return true;
                }
                @Override
                public boolean onQueryTextChange(String arg0) {
                    etSearch.setText(arg0);
                    return true;
                }
            });
            return super.onCreateOptionsMenu(menu);
        }
    

    【讨论】:

      【解决方案2】:

      您想自定义SearchView 还是适合您的标准? 如果是,我建议使用ActionView 查看ActionBar

      Android ActionBar documentation关于添加ActionView

      【讨论】:

      • 其实我还没用过SearchView。所以,我想,只要以最小的努力符合我的目的,就可以了:)
      • 我想开箱即用的SearchView 对你来说就可以了。
      猜你喜欢
      • 1970-01-01
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      • 1970-01-01
      • 2019-04-17
      • 2014-05-28
      • 1970-01-01
      相关资源
      最近更新 更多