在标题栏中更改文字和背景颜色(Android)?

4

我正在开发一款安卓应用,想要修改标题栏的背景和文字颜色。

在AndroidManifest.xml文件中:

<application
    ...
    android:theme="@style/ThemeSelector"
>

在styles.xml中:
<style name="ThemeSelector" parent="android:Theme.Light">
    <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>
</style>

<style name="WindowTitleBackground">     
    <item name="android:background">@color/titlebackgroundcolor</item>
    <item name="android:textColor">@color/titletextcolor</item>
</style>

使用这段代码,我成功地修改了背景颜色,但是无法修改文本颜色。
你能解释一下为什么这段代码不起作用吗?
谢谢。

请查看这个问题:https://dev59.com/TGIi5IYBdhLWcg3w_AbV,也许它与你的问题类似。 - Love Garg
1个回答

2
<style name="ThemeSelector" parent="android:Theme.Light">
    <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>
    <item name="android:windowTitleStyle">@style/CustomWindowTitle</item>
</style>

<style name="WindowTitleBackground">     
    <item name="android:background">@color/titlebackgroundcolor</item>
</style>

<style name="CustomWindowTitle" parent="WindowTitle">
    <item name="android:textAppearance">@style/CustomWindowTitleText</item>
</style>

<style name="CustomWindowTitleText" parent="android:TextAppearance">
    <item name="android:textColor">@color/titletextcolor</item>
</style>

<style name="WindowTitle">
    <item name="android:singleLine">true</item>
    <item name="android:textAppearance">@style/CustomWindowTitleText</item>
    <item name="android:shadowColor">#BB000000</item>
    <item name="android:shadowRadius">2.75</item>
</style>

您有一个拼写错误:应该是 android:titleTextStyle。但它仍然没有任何效果。 - Tsiftis Karampouzouklis
我已更新以适用于 WindowTitle。之前的代码是为 ActionBar 设计的。如果现在可以工作,请告诉我。 - blackcj
1
我收到了“检索父项时出错:找不到与给定名称'android:WindowTitle'匹配的资源”的错误。 - Tsiftis Karampouzouklis
2
似乎 WindowTitle 在较新的 SDK 中被设置为私有。您可以用自己的样式替换它:https://dev59.com/dV3Va4cB1Zd3GeqPBpXz - blackcj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接