在纵向和横向之间更改操作栏溢出菜单图标

Posted

技术标签:

【中文标题】在纵向和横向之间更改操作栏溢出菜单图标【英文标题】:Change Actionbar Overflow Menu Icon Between Portrait and Landscape 【发布时间】:2013-01-28 21:11:51 【问题描述】:

我的应用有一个自定义拆分操作栏主题(是的,我使用的是 AcionBar Sherlock),其中顶部是深色,底部是浅色。该应用程序设置为在横向模式下检测设备方向并删除拆分操作栏(仅显示顶部操作栏)。在某些活动中,我有一个由三个垂直点表示的溢出菜单。我想在纵向模式下将溢出菜单图标设置为深色可绘制,然后在横向模式下将其设置为浅色可绘制。有没有办法改变活动类的溢出菜单图标?

【问题讨论】:

groups.google.com/forum/?fromgroups#!topic/actionbarsherlock/… 然后可能会弄乱portland 限定符 【参考方案1】:

您可以定义自定义样式。 在这种风格中你需要定义:

<item name="android:actionOverflowButtonStyle">@style/customoverflow</item>

类似这样的:

   <style name="MyTheme" parent="Theme.Sherlock.Light">
     <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
   </style>
   <style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow">
    <item name="android:src">@drawable/my_action_bTutton_overflow</item>
   </style>

您可以在 values-land 中定义一个 styles.xml,在 values-port 中定义一个不同的 styles.xml。

【讨论】:

这是正确的。但是,更改此图标时要非常小心。它旨在被识别为不执行直接操作的全局图标,因此更改它可能会使您的用户更犹豫单击它。我见过的唯一有效用例是针对不同背景调整图标的颜色。 这正是我想要做的,根据背景调整图标的颜色。感谢您的帮助

以上是关于在纵向和横向之间更改操作栏溢出菜单图标的主要内容,如果未能解决你的问题,请参考以下文章

导航栏切换器仅在纵向,而不是横向移动

当视图从纵向更改为横向时,方向不会改变

如何更改操作栏中的选项菜单图标?

如何在ActionBar的菜单项图标之间填充使用支持库时

如何更改工具栏导航和溢出菜单图标(appcompat v7)?

在android操作栏中的菜单项之间显示分隔符