首页 > 解决方案 > Android数据绑定将视图导入XML

问题描述

我已经看到了两种使用数据绑定在 XML 中设置可见性的方法

  1. <variable
        name="vm"
        type="com.example.myapp.viewmodel.MyViewmodel" /> 
    
      <androidx.constraintlayout.widget.ConstraintLayout
           android:layout_width="match_parent"
           android:layout_height="match_parent">
    
           <ProgressBar
                style="@style/ProgressBarMediumWhite"
                android:visibility="@{vm.showLoader ? View.VISIBLE : View.GONE}" />
    
  2. <variable
        name="vm"
        type="com.example.myapp.viewmodel.MyViewmodel" /> 
    
      <androidx.constraintlayout.widget.ConstraintLayout
           android:layout_width="match_parent"
           android:layout_height="match_parent">
    
           <ProgressBar
                style="@style/ProgressBarMediumWhite"
                android:visibility="@{vm.showLoader}" />
    

我想知道哪个是更好的方法,或者两者似乎都很好。将 android 视图导入 XML 文件有多糟糕。

标签: androidandroid-layoutandroid-databindingandroidx

解决方案


第一个更好。

  1. 检查是否showLoader为真,然后将视图设置visibility为可见,否则消失。
  2. 第二个是传递一个布尔值showLoader作为视图的可见性,这最终会引发错误。

推荐阅读