gpt4 book ai didi

android - 应用程序兼容性 21 : name = colorPrimary not working together with name = actionBarStyle

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:28 25 4
gpt4 key购买 nike

当我使用项目 actionBarStyle 时,colorPrimary 不会将颜色设置为红色。如果我删除项目 actionBarStyle,它将起作用。如何更改我的代码以显示颜色?

<resources>

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<item name="actionBarStyle">@style/MyStyledActionBar</item>
<item name="colorPrimary">@color/red</item>
</style>

<style name="MyStyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="titleTextStyle">@style/MyActionBarTitleText</item>
</style>

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

</resources>

最佳答案

Widget.AppCompat.Light.ActionBar 的根是 Base.Widget.AppCompat.ActionBar ,它不应用背景属性。

<style name="Base.Widget.AppCompat.ActionBar" parent="">
...
<item name="background">@null</item>
<item name="backgroundStacked">@null</item>
<item name="backgroundSplit">@null</item>
...
</style>

您的父级应该是 Widget.AppCompat.Light.ActionBar.Solid,这样您就可以从 Base.Widget.AppCompat.Light.ActionBar.Solid 继承属性,它应用背景属性。

<style name="Base.Widget.AppCompat.Light.ActionBar.Solid">
<item name="background">?attr/colorPrimary</item>
<item name="backgroundStacked">?attr/colorPrimary</item>
<item name="backgroundSplit">?attr/colorPrimary</item>
</style>

或者,您可以自己应用背景属性。

<style name="MyStyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="titleTextStyle">@style/MyActionBarTitleText</item>
<item name="background">?attr/colorPrimary</item>
</style>

关于android - 应用程序兼容性 21 : name = colorPrimary not working together with name = actionBarStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27043294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com