背景色来自API,格式为FFF9E6。我正在使用数据绑定。我无法理解如何将其设置为背景色。我相信绑定适配器可以工作,但不确定如何编写。如何为同一适配器编写绑定适配器?
答案 0 :(得分:1)
几个月前,我遇到了同样的问题。我所做的是将来自API的数据存储到一个POJO类中。然后在使用该POJO类成员作为数据绑定变量的XML文件中。 即
<TextView
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_margin="@dimen/_8dp"
android:layout_weight="1"
android:gravity="center"
android:padding="@dimen/_8dp"
app:color="@{item.color}" />
它是绑定适配器
@BindingAdapter("bind:color")
public static void setStatus(TextView textView, String color) {
}
答案 1 :(得分:1)
此代码对我而言有效。
@BindingAdapter("android:backgroundColor")
fun ViewGroup.setBackground(backgroundColor: String) {
val color: Int = try {
Color.parseColor(background)
} catch (e: Exception) {
Color.parseColor("#$background")
}
setBackgroundColor(color)
}