如何在Android中改变子菜单的文本颜色?我自定义了应用程序主题并覆盖了相关属性,但仍然不起作用。我的菜单有两个子菜单,最初是隐藏的,当点击时,它会显示。但是,子菜单的样式不能修改,而操作栏的标题可以。这个问题困扰了我一整天,我几乎尝试了我找到的每一种方法。这是我的代码!
menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.classsignin.MainActivity" >
<item
android:id="@+id/action_overflow"
android:title="分享"
android:icon="@drawable/drop_select"
android:showAsAction="always"
>
<menu >
<item
android:id="@+id/absent"
android:title="请假"
android:icon="@drawable/absent"
/>
<item
android:id="@+id/refresh"
android:title="刷新课程"
android:icon="@drawable/refresh"
/>
</menu>
</item>
styles.xml
<style name="CustomTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBarTheme</item>
<item name="android:actionMenuTextAppearance">@style/MyActionBarMenu</item>
<item name="android:actionMenuTextColor">@color/blue</item>
<item name="android:homeAsUpIndicator">@drawable/back</item>
<item name="android:spinnerItemStyle">@style/MySpinnerItem</item>
</style>
<style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@color/white</item>
<item name="android:titleTextStyle">@style/MyActionBarTitle</item>
</style>
<style name="MyActionBarTitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textSize">16sp</item>
<item name="android:textColor">@color/blue</item>
</style>
<style name="MyActionBarMenu" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Menu">
<item name="android:textSize">16sp</item>
<item name="android:textColor">@color/blue</item>
</style>
<style name="MySpinnerItem" parent="@android:style/Widget.Holo.TextView.SpinnerItem">
<item name="android:textAppearance">@style/MyTextAppearance</item>
</style>
<style name="MyTextAppearance" parent="@android:style/TextAppearance.Holo.Widget.TextView.SpinnerItem">
<item name="android:textColor">@color/blue</item>
</style>
2条答案
按热度按时间qxsslcnc1#
本质上,您需要通过在
style.xml
中使用自定义color/drawable selector
覆盖android:itemBackground
属性以及要覆盖的vtextColor属性来自定义
MenuItem的样式。 如果你的菜单也有
submenu's,那么你也需要为子菜单的
header标题设置样式,通常通过用
custom style覆盖属性
actionBarPopupTheme`,它会自动以白色背景显示。样式.xml
menu_popup_selector.xml
你会得到一些像那些截图一样的东西
第一节第一节第一节第一节第一次
(1st菜单,然后在点击第一菜单上的一个项目后的子菜单-粉红色的标题是我的子菜单标题)。
只是为了让你知道,当我有正常的 * 菜单没有子菜单 * 看起来像这样的层次结构视图:
和带有子菜单 * 的 * 菜单作为层次视图的示例:
elcex8rz2#
对于材质导航视图,可以更改颜色和文本外观