【问题标题】:Hide, unhide ActionBar icons with Search Widget使用 Search Widget 隐藏、取消隐藏 ActionBar 图标
【发布时间】:2014-08-19 17:20:49
【问题描述】:

我在许多提供一些搜索功能的应用程序中看到的一个常见模式是让搜索小部件从 ActionBar 中清除其他菜单图标。现在只需在我的菜单项中将ifRoom 用于showAsAction 即可。不过,我想在操作栏中显示更多菜单项,因为似乎 ActionBar 在确定ifRoom 的方式上非常保守,因此至少有一个重要的菜单项被推到溢出(也许比我更聪明的人知道)他们为什么这样做)。

那么,当激活搜索小部件时,如何将showAsAction 设置为always,同时仍从操作栏上清除菜单项?当我现在尝试时,菜单项不会移动,并且搜索小部件是压缩的。

这是我的菜单:

  <item
  android:id="@+id/action_search"
  android:icon="@drawable/ic_action_search"
  android:title="@string/action_search"
  android:showAsAction="collapseActionView|always"
  android:actionViewClass="android.widget.SearchView" />

 <item
  android:id="@+id/action_stores"
  android:title="@string/action_stores"
  android:icon="@drawable/ic_action_stores"
  android:showAsAction="always" />

 <item 
   android:id="@+id/action_shopping_lists"
   android:title="@string/action_shopping_lists"
   android:icon="@drawable/ic_action_lists"
   android:showAsAction="always" />

<item
    android:id="@+id/action_preferences"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    app:showAsAction="never"/>

我的可搜索.xml

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android" 
            android:label="@string/app_name"
            android:hint="@string/search_hint" >
</searchable>

【问题讨论】:

    标签: android android-actionbar android-searchmanager


    【解决方案1】:

    您不能在search widget 上设置一个onClickListener,然后运行几行代码以使另一个MenuItems 从“always”更改为“ifRoom”吗?

    onClickListener 中的几行代码将包含如下内容:

    myMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
    

    而 myMenuItem 是您的 MenuItem,应该从“always”变为“ifRoom”。 您可以稍后通过适当的方法将其更改回来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      相关资源
      最近更新 更多