我一直在尝试在操作栏上设置白色文字。我经历了很多问题,我使用的是主题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"/>
答案 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>