【发布时间】:2016-04-25 18:17:02
【问题描述】:
我有一个应用程序使用支持 ActionBarActivity (android.support.v7.app.ActionBarActivity),带有标签。我使用操作栏样式生成器来更改应用程序的外观,但现在我很难更改选项卡文本颜色。
样式正在通过manifest 应用,并且显示得很好,除了标签文本颜色保持黑色无论我尝试什么。这是我现在的自定义样式 xml 文件中的内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.StyledActionBar" parent="@style/Theme.AppCompat.Light">
<item name="actionBarItemBackground">@drawable/selectable_background_StyledActionBar</item>
<item name="popupMenuStyle">@style/PopupMenu.StyledActionBar</item>
<item name="dropDownListViewStyle">@style/DropDownListView.StyledActionBar</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.StyledActionBar</item>
<item name="actionDropDownStyle">@style/DropDownNav.StyledActionBar</item>
<item name="actionBarStyle">@style/ActionBar.Solid.StyledActionBar</item>
<item name="actionModeBackground">@drawable/cab_background_top_StyledActionBar</item>
<item name="actionModeSplitBackground">@drawable/cab_background_bottom_StyledActionBar</item>
<item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.StyledActionBar</item>
<item name="actionBarTabTextStyle">@style/TabTextStyle</item>
<item name="android:actionBarTabTextStyle">@style/TabTextStyle</item>
</style>
<style name="TabTextStyle" parent="@style/Widget.AppCompat.ActionBar.TabText">
<item name="android:textColor">@android:color/white</item>
</style>
<style name="ActionBar.Solid.StyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
<item name="background">@drawable/ab_solid_StyledActionBar</item>
<item name="backgroundStacked">@drawable/ab_stacked_solid_StyledActionBar</item>
<item name="backgroundSplit">@drawable/ab_bottom_solid_StyledActionBar</item>
<item name="progressBarStyle">@style/ProgressBar.StyledActionBar</item>
</style>
<style name="ActionBar.Transparent.StyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="background">@drawable/ab_transparent_StyledActionBar</item>
<item name="progressBarStyle">@style/ProgressBar.StyledActionBar</item>
</style>
<style name="PopupMenu.StyledActionBar" parent="@style/Widget.AppCompat.Light.PopupMenu">
<item name="android:popupBackground">@drawable/menu_dropdown_panel_StyledActionBar</item>
</style>
<style name="DropDownListView.StyledActionBar" parent="@style/Widget.AppCompat.Light.ListView.DropDown">
<item name="android:listSelector">@drawable/selectable_background_StyledActionBar</item>
</style>
<style name="ActionBarTabStyle.StyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.TabView">
<item name="android:background">@drawable/tab_indicator_ab_StyledActionBar</item>
</style>
<style name="DropDownNav.StyledActionBar" parent="@style/Widget.AppCompat.Light.Spinner.DropDown.ActionBar">
<item name="android:background">@drawable/spinner_background_ab_StyledActionBar</item>
<item name="android:popupBackground">@drawable/menu_dropdown_panel_StyledActionBar</item>
<item name="android:dropDownSelector">@drawable/selectable_background_StyledActionBar</item>
</style>
<style name="ProgressBar.StyledActionBar" parent="@style/Widget.AppCompat.ProgressBar.Horizontal">
<item name="android:progressDrawable">@drawable/progress_horizontal_StyledActionBar</item>
</style>
<style name="ActionButton.CloseMode.StyledActionBar" parent="@style/Widget.AppCompat.Light.ActionButton.CloseMode">
<item name="android:background">@drawable/btn_cab_done_StyledActionBar</item>
</style>
<!-- this style is only referenced in a Light.DarkActionBar based theme -->
<style name="Theme.StyledActionBar.Widget" parent="@style/Theme.AppCompat">
<item name="popupMenuStyle">@style/PopupMenu.StyledActionBar</item>
<item name="dropDownListViewStyle">@style/DropDownListView.StyledActionBar</item>
</style>
</resources>
如您所见,我尝试将颜色更改为白色,但没有效果。我也曾尝试更改操作栏标题颜色,但因为找到了 java 解决方法而放弃了。
【问题讨论】:
-
切换到AppCompatActivity和TabLayout,看看这个答案:stackoverflow.com/a/31153743/4409409
-
至于使用 ActionBar 选项卡,请尝试添加
android:使其成为<item name="android:actionBarTabTextStyle">@style/TabTextStyle</item>参见此处:stackoverflow.com/a/24605444/4409409
标签: android android-actionbar android-actionbar-compat