在<api 21 =“”

时间:2017-03-16 01:57:11

标签: android android-layout

=“”

中的颜色选择器中使用主题属性我有一个使用主题属性的状态列表颜色资源,即button_background_tint .XML:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="?attr/colorAccent" android:state_activated="true"/>
    <item android:color="?android:attr/colorBackground"/>
</selector>

并将其应用于我的FloatingActionButton背景色调app:backgroundTint="@color/button_background_tint"

该按钮在API 21或更高版本中看起来很好,但在API 21之下,无论状态如何,背景都是红色的(即使?android:attr/colorBackgroundTheme.AppCompat.Light的默认值)。

有没有办法在API 21之前引用颜色选择器中的主题属性? (如果重要,请使用支持库25.3.0)

1 个答案:

答案 0 :(得分:0)

?android:attr/colorBackground 在 API 21 之前未定义。

当使用 AndroidX 和材料组件时,您似乎可以使用 ?attr/colorSurface,因为它是相同的颜色。我猜您可以使用它来避免为 v21 及更高版本定义特定资源。

材质组件的背景值和表面值都定义为 there