要将?android:attr/textColorPrimary
属性应用于视图的背景,您有两个选项。
第一个选项
第一种选择是定义一个shape
可绘制对象,它从?android:attr/textColorPrimary
属性获取其颜色,如下所示...
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="?android:attr/textColorPrimary" />
</shape>
假设您已将此可绘制资源命名为rectangle_shape_with_primary_text_color.xml
并放置在应用程序的res/drawable
文件夹中,您可以按照以下方式将其设置为样式的背景...
<item name="android:background">@drawable/rectangle_shape_with_primary_text_color</item>
...或将其直接设置为您视图的背景,如下所示...
android:background="@drawable/rectangle_shape_with_primary_text_color"
第二种选择
第二种选择是设置样式或视图的backgroundTint
属性。
您可以按照以下方式设置样式的backgroundTint
属性:
<style name="horizontalLine">
<item name="android:background">@android:color/white</item>
<item name="android:backgroundTint">?android:attr/textColorPrimary</item>
</style>
或者您可以直接设置视图的 backgroundTint
属性,如下所示:
<View
android:id="@+id/horizontalLine"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/white"
android:backgroundTint="?android:attr/textColorPrimary" />
请注意,使用这种方法时,
background
属性的确切值并不重要,但它必须被设置,并且不能被设置为
@null
或
@android:color/transparent
。
xml
的 :-) 请再看一下我的先前评论,告诉我它是否有效:<item android:color="@color/default_text_color" />
。 - g00dy