SearchView 展开后隐藏的操作栏图标

Posted

技术标签:

【中文标题】SearchView 展开后隐藏的操作栏图标【英文标题】:Action Bar Icon hidden after SearchView expands 【发布时间】:2014-06-16 08:19:39 【问题描述】:

我希望 SearchView 旁边的图标(“云”)即使在 SearchView 展开时也保持可见。这适用于平板电脑,但不适用于 Nexus 5 等小型设备。

我已经为此菜单项设置了showAsAction="always"。另外,SearchView 有这个属性:showAsAction="ifRoom"

【问题讨论】:

当您使用showAsAction="ifRoom|collapseActionView" 时,它会改变什么吗? 不。没有什么变化!一样的。 嗨@iZBasit...你找到解决办法了吗? 你为什么需要这个? 【参考方案1】:

试试这个,使用 appCompat v21 对我有用

final MenuItem switchButton = menu.findItem(R.id.action_import);
final MenuItem searchItem = menu.findItem(R.id.action_search);

MenuItemCompat.setShowAsAction(searchItem, MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
MenuItemCompat.setShowAsAction(switchButton, MenuItemCompat.SHOW_AS_ACTION_ALWAYS); 

【讨论】:

【参考方案2】:

我在这种情况下所做的是在将主题设置为 NO_ACTION_BAR 时使用 xml 中的工具栏。然后在工具栏中(在我的 layout.xml 文件中)我放了一个 RelativeLayout。使用 leftOf=@id/someButton 您应该能够始终保持所有按钮可见。

【讨论】:

以上是关于SearchView 展开后隐藏的操作栏图标的主要内容,如果未能解决你的问题,请参考以下文章

如何更改SearchView上的默认图标,以便在Android的操作栏中使用?

如何以编程方式关闭 SearchView?

如何在后按时以编程方式关闭 SearchView?在片段中

onCreateOptionsMenu中的expandActionView永久删除或隐藏操作栏中的其他菜单项

SearchView 展开抛出空指针异常

如何删除 Android searchview 左侧的空间(不是操作栏的一部分)?