Theme.AppCompat.Light.DarkActionBar给出黑色动作栏标题文本

时间:2014-06-08 20:55:02

标签: android android-actionbar

我一直在尝试在操作栏上设置白色文字。我经历了很多问题,我使用的是主题Theme.AppCompat.Light.DarkActionBar,目前正在使用这个xml:

<style name="TrasnparentActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/TransparentActionBar</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowActionBarOverlay">true</item>
</style>

<style name="TransparentActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:background">@drawable/actionbar_transparent_background</item>
    <item name="android:titleTextStyle">@style/TransparentTransparentActionBarText</item>
</style>

<style name="TransparentTransparentActionBarText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@android:color/white</item>
</style>

我尝试过不同的组合,例如:设置android:titleTextStyle,actionmenutextcolor或使用actionBar Style Generator。没有人在为我工作。

上面的代码来自values-v11,但类似的代码也在values文件夹中。

@drawable/actionbar_transparent_background只是一个<solid android:color="#00000000"/>

的形状

1 个答案:

答案 0 :(得分:0)

为了拥有白色文本(所以带有浅色主题的暗动作栏),你必须从正确的对象继承你的动作栏样式: Widget.AppCompat.Light.ActionBar.Solid.Inverse 而不是Widget.AppCompat.ActionBar.Solid

这是style.xml文件:

<resources>

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">

    <!--  action bar -->
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
       parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@drawable/actionbar_background</item>

    <!-- Support library compatibility -->
    <item name="background">@drawable/actionbar_background</item>
</style>

</resources>