如何对每个API级别的数据视图进行数据绑定?

时间:2019-02-22 10:21:24

标签: android android-layout android-databinding

显示生物识别登录按钮 not ,因为它不受支持,因此可以确定地隐藏。方法.setVisibility(View.GONE)不可选项,因为数据绑定应自行配置所有视图。

1 个答案:

答案 0 :(得分:1)

必须导入android.os.Build.VERSIONandroid.view.View,以便在生成的数据绑定类中使用变量VERSION.SDK_INT和类View常量:

<?xml version="1.0" encoding="utf-8"?>
<layout
    xmlns:android="http://schemas.android.com/apk/res/android">

    <data>
        <import type="android.os.Build.VERSION"/>
        <import type="android.view.View"/>
    </data>

    <!-- only visible on API >= 26 -->
    <androidx.appcompat.widget.AppCompatImageView
        android:visibility="@{VERSION.SDK_INT >= 26 ? View.VISIBLE : View.GONE}"
        android:id="@+id/button_biometric_authentication"
        android:src="@drawable/ic_fingerprint_white_36dp"
        android:layout_gravity="center_vertical|end"
        android:layout_height="match_parent"        
        android:layout_width="wrap_content"/>

</layout>