【问题标题】:ActionSherlockBar Styling - PopupMenuActionSherlockBar 样式 - PopupMenu
【发布时间】:2012-07-28 02:33:59
【问题描述】:

样式是提高我对 android 平台知识的一个地方。鉴于我整个上午都在尝试进行简单的更改,但无法实现。

我想更改操作栏中溢出菜单的样式。我已经能够更改背景颜色并添加动画,以便在单击时它会淡化为选定的颜色。但是对于我的生活,我无法更改文本颜色。

以下是两张截图,一张使用 Theme.Sherlock,另一张使用 Theme.Sherlock.Light。

Theme.Sherlock - 这是我自定义的当前设置。我想要的是溢出(又名 android:popupmenu)在全息主题中(如下所示),理想情况下我可以更改文本颜色。

Theme.Sherlock.Light - 这个主题显示了我想看到的溢出菜单的样式。但是,如以红色突出显示的那样,溢出按钮的颜色是错误的,并且此主题还绘制了一条水平线。

我不知道使用弹出问题更改 Theme.Sherlock 还是使用溢出图标和线条问题更改 Theme.Sherlock.Light 是否最好/更容易。该应用程序是“轻”主题,因此选项二可能是长期更好的选择,但是我会接受可以通过更改任一主题来解决问题的答案。

附言在哪里可以找到更改主题/样式的属性列表,自动完成在 eclipse 中非常不完整。

更新

这实际上是原生操作栏的更新,因为我回到了同样的问题,但不再支持 2.3 或更低版本。

<style name="AppTheme" parent="android:Theme.Holo.Light">
  <item name="android:actionOverflowButtonStyle">@style/OverFlow</item>
</style>

<style name="OverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
  <item name="android:src">**Insert your icon here**</item>
</style>

【问题讨论】:

    标签: java android styles android-actionbar actionbarsherlock


    【解决方案1】:

    我对 ActionBarSherlock 不熟悉,但是你可以在硬盘的文件夹中找到标准的 OverFlow 图标

    path\to\android\android-sdk\platforms\android-api-level\data\res\drawable-resolution 
    

    他们被称为ic_menu_moreoverflow_normal_holo_dark.pngic_menu_moreoverflow_normal_holo_light.png

    您也可以在网上找到他们here

    我相信左边的圆圈也是可绘制的。查看res\drawable内部。

    【讨论】:

    • 您好,感谢您的建议。给定一个主题可以使这成为可能,我宁愿这样做,而不是向项目中添加另一个可绘制图像。只是仍在尝试弄清楚如何做到这一点
    • 在 2 年后回复这个并回到 Android,我回到原生操作栏中的相同内容。你在图标上的位置,但现在我对样式有了更多的了解。只需将我添加到问题中的内容添加到您的风格中即可。
    【解决方案2】:

    尝试在Android Action Bar Style Generator 的帮助下覆盖 Theme.Sherlock 的样式

    【讨论】:

      【解决方案3】:

      这个答案可能来得太晚了,但对于那些可能偶然发现这个问题的人来说。我发现您能够更改溢出的背景颜色很有趣。我发现这很难弄清楚,而更改文本却非常简单。只需覆盖自定义主题中的 android:itemTextAppearance 值即可。

      <item name="android:itemTextAppearance">@style/your_new_text_appearance</item>
      
      <style name="your_new_text_appearance">
          <item name="android:textColor">@color/red</item>
      </style>
      

      【讨论】:

      • 我们从未找到解决方案。但后来我搬到了另一家公司。下次见到其他开发者时,我会提出你的答案。
      • 哦,我的上帝,我不能对此给予足够的支持。两天尝试了几十种方法来改变这种颜色,终于找到了解决方案。
      【解决方案4】:

      简单地执行以下操作:

      1。在您的应用主题样式的 theme.xml 中添加此项:

      <item name="popupMenuStyle">@style/PopupMenu</item>
      

      2。在styles.xml 中添加这个新样式:

      <style name="PopupMenu" parent="@style/Widget.Sherlock.Light.ListPopupWindow">
         <item name="android:textSize">14sp</item>
      </style>
      

      在样式中,您可以根据需要覆盖文本大小或其他参数。

      【讨论】:

        猜你喜欢
        • 2012-03-29
        • 1970-01-01
        • 2012-09-20
        • 2017-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-23
        相关资源
        最近更新 更多