【问题标题】:Android data binding Recycleview set cardview color with colorStateListAndroid数据绑定Recycleview用colorStateList设置cardview颜色
【发布时间】:2021-03-11 20:42:22
【问题描述】:

我正在尝试通过数据绑定在回收视图中设置卡片视图的背景颜色。

我在 cardview xml 布局上有这个: app:cardBackgroundColor="@{user.gender.equals(`M`) ? @color/card_male_color : @color/card_female_color }"

card_male_color.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:color="@color/selectedColor" android:state_selected="true"/>
   <item android:color="@color/selectedColor" android:state_pressed="true"/>
   <item android:color="@color/card_color_male"/>
</selector> 

但是当卡片被选中时,背景不会改变颜色。

【问题讨论】:

    标签: android android-databinding android-cardview android-selector


    【解决方案1】:

    我在cardview布局中使用这个解决了:

    app:cardBackgroundColor="@{user.gender.equals(`M`) ? (ContextCompat.getColorStateList(context, R.color.card_male_color)) : (ContextCompat.getColorStateList(context, R.color.card_female_color))}"
    
    tools:context=".MainActivity"
    

    导入这个:

    <data>
        <import type="androidx.core.content.ContextCompat"/>
        <import type="mypackage.R"/>
    </data>
    

    【讨论】:

      猜你喜欢
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      相关资源
      最近更新 更多