Как связать представления данных на уровне API? - PullRequest
0 голосов
/ 22 февраля 2019

Требуется , а не , чтобы отображать биометрическую кнопку входа <уровень API 26, потому что она не поддерживается и, следовательно, может быть наверняка скрыта.Метод <code>.setVisibility(View.GONE) не является опцией, поскольку привязка данных должна настраивать представление самостоятельно.

1 Ответ

0 голосов
/ 22 февраля 2019

необходимо импортировать android.os.Build.VERSION и android.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>
...