通过XML覆盖溢出菜单样式

时间:2014-10-07 15:46:14

标签: android android-layout android-xml android-theme android-styles

我试图更改溢出菜单项的textColor

到目前为止,我只发现使用反射解释的代码和/或在LayoutInflater上设置Factory,检查视图的名称是否为内部menuItem,返回具有正确样式的TextView。

主题中应该有一个可以覆盖的样式。有谁知道怎么做?

1 个答案:

答案 0 :(得分:1)

在浏览了很多StackOverflow问题和答案以及博客帖子后,我终于找到了正确的样式来覆盖。

在定义应用主题的style.xml或theme.xml中,包括:

<resources>
    <style name="Theme.AppTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarWidgetTheme">@style/OverflowTextStyle</item>
    </style>
</rescources>

您要覆盖的样式属性是android:actionBarWidgetTheme。在主题声明中包含该项目。 (我首先期望它在android:actionBarStyle的定义中定义,但不是所属的地方;它只是应用程序主题中的一个项目。)

现在我们所要做的就是在某处声明OverflowTextStyle样式:

<resources>
    <style name="OverflowTextStyle">
        <item name="android:textColor">@color/white</item>
        <item name="android:textSize">18sp</item>
    </style>
</resources>