代码之家  ›  专栏  ›  技术社区  ›  Usman Rana

无法使用数据绑定在包含的布局中传递颜色变量

  •  1
  • Usman Rana  · 技术社区  · 7 年前

    我想传递一个颜色变量到包含的布局,目前,我正在尝试传递colors.xml中的颜色,并且添加了变量类型 '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}" />
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Blackbelt    7 年前

    @color/color_name 是资源ID,因此,其类型为 int 是的。你的变量应该是

    <variable name="loaderColor" type="int" />