我试图改变操作菜单项的文本颜色上的操作栏。使用应用程序兼容性。同时溢出的图标并没有改变太多。下面是我的自定义风格styles.xml文件。
RES /价值/ styles.xml
<样式名称=AppTheme父=@风格/ Theme.AppCompat.Light>
<! - 在默认的命名空间设置值,可以影响API等级7-13 - >
<项目名称=actionBarStyle> @风格/ MyStyledActionBar< /项目>
< /风格>
<样式名称=MyStyledActionBar父=@风格/ Widget.AppCompat.Light.ActionBar>
<! - 在默认的命名空间设置值,可以影响API等级7-13 - >
<项目名称=背景> @可绘制/ bg_action_bar< /项目>
<项目名称=titleTextStyle> @风格/ MyActionBarTitleText< /项目>
<项目名称=actionMenuTextAppearance> @风格/ MyActionBarMenuText< /项目>
<项目名称=actionMenuTextColor> @风格/ MyActionBarMenuText< /项目>
<项目名称=actionOverflowButtonStyle> @风格/ MyActionButtonOverFlow< /项目>
< /风格>
<样式名称=MyActionBarTitleText父=@风格/ TextAppearance.AppCompat.Widget.ActionBar.Title>
<项目名称=机器人:文字颜色> @色/ font_half_white< /项目>
< /风格>
<样式名称=MyActionBarMenuText父=@风格/ TextAppearance.AppCompat.Widget.ActionBar.Menu>
<项目名称=机器人:文字颜色> @色/ font_half_white< /项目>
< /风格>
<样式名称=MyActionButtonOverFlow父=@风格/ Widget.AppCompat.Light.ActionButton.Overflow>
<项目名称=机器人:SRC> @可绘制/ ic_action_search< /项目>
< /风格>
RES /值-14 / styles.xml
<样式名称=AppTheme父=@风格/ Theme.AppCompat.Light>
<! - 在Android命名空间中设置值会影响API等级14+ - >
<项目名称=机器人:actionBarStyle> @风格/ MyStyledActionBar< /项目>
< /风格>
<样式名称=MyStyledActionBar父=@风格/ Widget.AppCompat.Light.ActionBar>
<! - 在Android命名空间中设置值会影响API等级14+ - >
<项目名称=机器人:背景> @可绘制/ bg_action_bar< /项目>
<项目名称=机器人:titleTextStyle> @风格/ MyActionBarTitleText< /项目>
<项目名称=机器人:actionMenuTextAppearance> @风格/ MyActionBarMenuText< /项目>
<项目名称=机器人:actionMenuTextColor> @风格/ MyActionBarMenuText< /项目>
<项目名称=机器人:actionOverflowButtonStyle> @风格/ MyActionButtonOverFlow< /项目>
< /风格>
<样式名称=MyActionBarTitleText父=@风格/ TextAppearance.AppCompat.Widget.ActionBar.Title>
<项目名称=机器人:文字颜色> @色/ font_half_white< /项目>
< /风格>
<样式名称=MyActionBarMenuText父=@风格/ TextAppearance.AppCompat.Widget.ActionBar.Menu>
<项目名称=机器人:文字颜色> @色/ font_half_white< /项目>
< /风格>
<样式名称=MyActionButtonOverFlow父=@风格/ Widget.AppCompat.Light.Base.ActionButton.Overflow>
<项目名称=机器人:SRC> @可绘制/ ic_action_search< /项目>
< /风格>
RES / colors.xml #F3F3F3
文本颜色还是黑色不改变为白色。有没有人成功地改变了操作菜单文本颜色。请提出了一些见解。我测试的4.4 Nexus5设备。
解决方案
使用
<项目名称=机器人:actionMenuTextColor> @色/ font_half_white< /项目>
//添加样式直接
相反
的
<项目名称=机器人:actionMenuTextColor> @风格/ MyActionButtonStyle< /项目>
在 RES /值-14 / styles.xml
在 RES /价值/ styles.xml
<项目名称=actionMenuTextColor> @色/ font_half_white< /项目>
我用红色进行测试。见操作菜单项家,就是红色的单元
编辑:
全部code
在 RES /值-14 / styles.xml
<资源>
<! -
基本应用主题API 14+。这个主题完全取代
AppBaseTheme来自RES /价值/ styles.xml和
RES /值-V11 / styles.xml的API 14+设备。
- >
<样式名称=AppBaseTheme父=Theme.AppCompat.Light.DarkActionBar>
<! - API 14主题自定义可以去这里。 - >
<项目名称=机器人:actionMenuTextColor> @色/红色和LT; /项目>
< /风格>
< /资源>
那么在RES /价值/ stles.xml
<资源>
<样式名称=AppBaseTheme父=Theme.AppCompat.Light>
<! - API 11主题自定义可以去这里。 - >
<项目名称=actionMenuTextColor> @色/红色和LT; /项目>
< /风格>
< /资源>
在清单
安卓主题=@风格/ AppBaseTheme>
另一个单元
I am trying to change the text color of a action menu item on the action bar. Using app compat. Also the overflow icon doesnt change too. Here is my custom styled styles.xml files.
res/values/styles.xml
<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<!-- Setting values in the default namespace affects API levels 7-13 -->
<item name="actionBarStyle">@style/MyStyledActionBar</item>
</style>
<style name="MyStyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<!-- Setting values in the default namespace affects API levels 7-13 -->
<item name="background">@drawable/bg_action_bar</item>
<item name="titleTextStyle">@style/MyActionBarTitleText</item>
<item name="actionMenuTextAppearance">@style/MyActionBarMenuText</item>
<item name="actionMenuTextColor">@style/MyActionBarMenuText</item>
<item name="actionOverflowButtonStyle">@style/MyActionButtonOverFlow</item>
</style>
<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/font_half_white</item>
</style>
<style name="MyActionBarMenuText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Menu">
<item name="android:textColor">@color/font_half_white</item>
</style>
<style name="MyActionButtonOverFlow" parent="@style/Widget.AppCompat.Light.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_search</item>
</style>
res/values-14/styles.xml
<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<!-- Setting values in the android namespace affects API levels 14+ -->
<item name="android:actionBarStyle">@style/MyStyledActionBar</item>
</style>
<style name="MyStyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<!-- Setting values in the android namespace affects API levels 14+ -->
<item name="android:background">@drawable/bg_action_bar</item>
<item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
<item name="android:actionMenuTextAppearance">@style/MyActionBarMenuText</item>
<item name="android:actionMenuTextColor">@style/MyActionBarMenuText</item>
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverFlow</item>
</style>
<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/font_half_white</item>
</style>
<style name="MyActionBarMenuText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Menu">
<item name="android:textColor">@color/font_half_white</item>
</style>
<style name="MyActionButtonOverFlow" parent="@style/Widget.AppCompat.Light.Base.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_search</item>
</style>
res/colors.xml #F3F3F3
The text color still black doesnt change to white. Has anybody successfully changed the action menu text color. Please suggest some insights. I am testing on 4.4 Nexus5 device.
解决方案Use
<item name="android:actionMenuTextColor">@color/font_half_white</item>
// added style directly
Instead of
<item name="android:actionMenuTextColor">@style/MyActionButtonStyle</item>
in res/values-14/styles.xml
In res/values/styles.xml
<item name="actionMenuTextColor">@color/font_half_white</item>
I used a Red Color for testing. See the Action menu Item Home that is red in the snap
Edit:
Full Code
In res/values-14/styles.xml
<resources>
<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
<item name="android:actionMenuTextColor">@color/red</item>
</style>
</resources>
Then in res/values/stles.xml
<resources>
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
<!-- API 11 theme customizations can go here. -->
<item name="actionMenuTextColor">@color/red</item>
</style>
</resources>
In manifest
android:theme="@style/AppBaseTheme" >
Another snap