【发布时间】:2016-03-11 05:08:20
【问题描述】:
首先我读过Change color of the overflow button on action bar 但是 我无法让它工作。
我只想有一个简单的主题:操作栏背景为蓝色,按钮和文本为白色。对于我拥有的列表视图,我希望它们是相反的:白色背景和蓝色文本。如果有一种简单的方法可以实现这一点,请告诉我。 我尝试使用样式设置文本颜色,但无法将文本和按钮设置为不同的颜色,因此我尝试设置溢出可绘制对象,出于测试目的,我将点设置为红色,但没有看到任何效果。
<!-- Application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="actionBarStyle">@style/ActionBarStyle</item>
</style>
<style name="ActionBarStyle" parent="Widget.AppCompat.ActionBar">
<item name="background">@color/background_blue</item>
<item name="titleTextStyle">@style/AppTheme.ActionBar.Title</item>
<item name="actionOverflowButtonStyle">@style/AppTheme.ActionButton.Overflow</item>
</style>
<style name="AppTheme.ActionBar.Title" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/white</item>
</style>
<style name="AppTheme.ActionButton.Overflow" parent="@style/Widget.AppCompat.ActionButton.Overflow">
<item name="android:src">@drawable/abc_ic_menu_overflow_button</item>
</style>
当我看到的时候
显然没有使用红色按钮。
我能够使用 android:textColorPrimary 属性,但它有不良副作用。
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:textColorPrimary">@color/white</item>
<item name="actionBarStyle">@style/ActionBarStyle</item>
</style>
<style name="ActionBarStyle" parent="Widget.AppCompat.ActionBar">
<item name="background">@color/background_blue</item>
<item name="titleTextStyle">@style/AppTheme.ActionBar.Title</item>
</style>
<style name="AppTheme.ActionBar.Title" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/white</item>
</style>
但是由于我想要列表的白色背景,我最终无法看到一些文本,因为文本和背景都是白色的。
谢谢!
【问题讨论】:
-
在您的主题中添加 actionOverflowButtonStyle。
-
哇,这么简单的改变,谢谢!
-
我将此添加为答案,请接受它,以便其他面临相同问题的人对他们有所帮助。
标签: android