【问题标题】:How to prevent ActionBar SearchView button from disappearing如何防止 ActionBar SearchView 按钮消失
【发布时间】:2018-01-16 16:39:37
【问题描述】:

我在尝试修复这个问题时遇到了很多麻烦,并且在任何地方都找不到任何解决方案。

目前我有以下 ActionBar 选项菜单

<?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/ic_search"
        android:title="@string/menu_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="ifRoom|collapseActionView" />

    <item
        android:id="@+id/action_sort_by"
        android:title="@string/sort_by"
        app:showAsAction="never" />

    <item
        android:id="@+id/action_refresh"
        android:title="@string/action_refresh"
        app:showAsAction="never" />

</menu>

除了在打开搜索选项的同时打开选项菜单外,一切正常:

预期的目标布局

搜索选项打开

这是导致问题的步骤,您可以看到“搜索”选项现在位于菜单中

由于上一步,关闭菜单和搜索选项时搜索按钮消失了

如果我在打开搜索选项的同时没有打开选项菜单,那么一切都运行良好,但是这是用户无法预料的事情,他们可能会在打开搜索选项的情况下打开菜单,导致到搜索图标消失,导致用户体验非常有问题。

如何解决此问题,如何在保持相同布局的同时防止此问题发生?搜索图标可见,3 点选项菜单中的所有其他内容。

【问题讨论】:

  • 你的问题是当它们(搜索和选项菜单)都打开时,不是吗?
  • @propoLis 不,我在打开搜索选项后手动打开了选项菜单。这是导致问题的步骤,如果在打开搜索时我没有打开该菜单,那么搜索图标之后不会消失。

标签: android android-actionbar searchview android-optionsmenu


【解决方案1】:

要始终显示搜索图标,只需将 app:showAsAction="ifRoom|collapseActionView" 更改为 app:showAsAction="always|collapseActionView"

【讨论】:

  • 哦,开枪,开枪,开枪!没门!我从未使用此选项的原因是因为 Android 总是警告“首选 ifRoom 而不是总是”并在此处链接developer.android.com/design/patterns/actionbar.html
  • 只能接受5分钟后的答复,我得等一会儿,但这就是我的问题的答案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-20
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 2017-03-20
相关资源
最近更新 更多