gpt4 book ai didi

android - 如何在样式中使用 textColorPrimary 作为背景色?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:52 25 4
gpt4 key购买 nike

我想创建一个使用 android textColorPrimary 作为背景色的样式。我尝试了以下不起作用,结果是我的布局根本没有显示。

<style name="horizontalLine">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">?android:attr/textColorPrimary</item>
</style>

如何在样式中使用 textColorPrimary 作为背景色?

最佳答案

在尝试使用属性时,这种语法似乎对我有用:

<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="?android:textColorPrimary"
android:text="Hello"/>

(或)

<style name="MyStyle">
<item name="android:textColor">?android:textColorPrimary</item>
</style>

我可以将应用主题从 Holo 更改为 Holo.Light,文本颜色会自动更改以适合。

当我将它设置为 View 的背景时它不起作用 - Android 会崩溃并提示引用的可绘制对象是未指定可绘制对象的状态列表(它是 state list of colors )。

    Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #2: <item> tag requires a 'drawable' attribute or child tag defining a drawable
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:178)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
at android.content.res.Resources.loadDrawable(Resources.java:1950)
... 39 more

我正在使用 HoloEverywhere这让我可以直接引用资源,但在 native 情况下你应该会遇到类似的问题。我不认为在状态列表 xml 中用作组件的主要、未选择、未激活(等)颜色是通过属性公开的。

在任何情况下,使用的文本颜色都取决于您(应用开发者)选择的主题。如果您选择使用全息(深色)主题,那么您的文本将为浅色,用户将无法影响这一点。您不需要为您的应用程序设置动态线条颜色。

关于android - 如何在样式中使用 textColorPrimary 作为背景色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17843635/

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