我正在尝试“材质”主题,并更改“菜单”和项目的背景和文本颜色。使用以下样式,可以在工具栏上正常工作,但是尽管背景发生了变化,但按下设备菜单按钮时弹出的菜单显示的文本颜色没有变化。请帮助更改文本颜色,如前所述。

<resources>
<style name="MyMaterialTheme" parent="MyMaterialTheme.Base">
</style>
<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorPrimary">@color/accent</item>
<item name="android:textColorSecondary">@color/accent</item>
<item name="android:textColorHint">@color/accent</item>
<!-- Menu Items -->
<item name="android:textColor">@color/accent</item>
<item name="android:actionMenuTextColor">@color/accent</item>
<item name="actionMenuTextColor">@color/accent</item>
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="android:itemBackground">@color/colorPrimaryDark</item>
<item name="android:itemTextAppearance">@style/MyActionBar.MenuTextStyle</item>
<!-- Menu Items -->
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@color/colorPrimaryDark</item>
<item name="titleTextStyle">@style/MyActionBarTitle</item>
<item name="actionMenuTextColor">@color/accent</item>
</style>
<style name="MyActionBarTitle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/accent</item>
<item name="android:actionMenuTextColor">@color/accent</item>
<item name="actionMenuTextColor">@color/accent</item>
</style>
<style name="MyActionBar.MenuTextStyle">
<item name="android:textColor">@color/accent</item>
<item name="android:textStyle">bold</item>
<item name="android:actionMenuTextColor">@color/accent</item>
<item name="actionMenuTextColor">@color/accent</item>
</style>
Run Code Online (Sandbox Code Playgroud)
主题中的简单一行:)
<item name="android:actionMenuTextColor">@color/your_color</item>
Run Code Online (Sandbox Code Playgroud)
试试这个创建这个主题
<style name="TextAppearance" parent="@style/Theme.Sherlock.Light">
<item name="actionMenuTextColor">@color/white</item>
<item name="android:actionMenuTextColor">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)
而不是像这样在您的活动主题中应用此主题
<style name="your_theme" parent="your_parent">
<item name="android:itemTextAppearance">@style/TextAppearance</item>
</style>
Run Code Online (Sandbox Code Playgroud)
或尝试这个
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.your_menu, menu);
int positionOfMenuItem = 0;
MenuItem item = menu.getItem(positionOfMenuItem);
SpannableString s = new SpannableString("My red MenuItem");
s.setSpan(new ForegroundColorSpan(Color.RED), 0, s.length(), 0);
item.setTitle(s);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4910 次 |
| 最近记录: |