【问题标题】:ActionBar always expanded SearchView with the icon insideActionBar 总是用里面的图标展开 SearchView
【发布时间】:2014-07-15 11:54:20
【问题描述】:

我有一个带有 SearchView 的 ActionBar。

我希望搜索视图始终“打开”(展开)。使用

可以做到这一点
mSearchView.setIconifiedByDefault(false);

但由于某种原因,它会将搜索图标移到文本区域之外:

如果我不使用 setIconifiedByDefault(),我希望它在展开时看起来像:

但随后它会折叠成背面的搜索图标,并且

MenuItemCompat.expandActionView(searchItem);

似乎没有帮助。

有没有办法实现我想要的?

【问题讨论】:

    标签: android android-actionbar searchview


    【解决方案1】:

    你可以拦截 OnClose 事件:

    searchView.setOnCloseListener(new SearchView.OnCloseListener() {
        @Override
        public boolean onClose() {
            return true;
        }
    });
    

    【讨论】:

      【解决方案2】:

      我能够通过更改我的 XML 来解决这个问题

      <item android:id="@+id/search"
      android:icon="@drawable/my_icon"
      app:showAsAction="always|collapseActionView"
      app:actionViewClass="android.support.v7.widget.SearchView" />
      

      <item android:id="@+id/search"
      android:icon="@drawable/my_icon"
      app:showAsAction="always"
      app:actionViewClass="android.support.v7.widget.SearchView" />
      

      【讨论】:

        【解决方案3】:

        始终在操作栏上显示/展开搜索框

        这是一个两步的解决方案,

        1.public void onCreateOptionsMenu(M... ... searchView.setIconifiedByDefault(false); }

        2。 在菜单 xml 文件中,确保设置了 android:showAsAction="always"

        <item    
                android:id="@+id/grid_default_search"
                android:icon="@android:drawable/ic_menu_search"
                android:title="search"
                android:showAsAction="always"
                android:actionViewClass="android.widget.SearchView"
            />
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-29
          • 1970-01-01
          • 2014-06-16
          • 1970-01-01
          相关资源
          最近更新 更多