我想将color变量传递给包含的布局,当前,我正尝试从我的colors.xml中传递color,并添加了变量类型'android.graphics.Color'
,但它不起作用,应该怎么做颜色的变量类型到底是什么?
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View" />
<variable
name="isLoading"
type="Boolean" />
<variable
name="loaderColor"
type="android.graphics.Color" />
</data>
<com.wang.avi.AVLoadingIndicatorView
android:layout_width="@dimen/btn_loading_indicator"
android:layout_height="@dimen/btn_loading_indicator"
android:layout_gravity="center"
android:visibility="@{isLoading?View.VISIBLE:View.GONE}"
app:indicatorColor="@{loaderColor}"
app:indicatorName="LineSpinFadeLoaderIndicator" />
</layout>
主要布局
<include
layout="@layout/layout_btn_loading_indicator"
app:loaderColor="@{@color/theme_color}"
app:isLoading="@{viewModel.isLoading}" />
答案 0 :(得分:2)
@color/color_name
是资源ID,因此类型为int
。您的变量应该像
<variable name="loaderColor" type="int" />