传递布尔值以在 Android 数据绑定中包含标签

Khe*_*raj 7 android android-layout android-databinding

我正在使用数据绑定进行通用布局。我在传递布尔值以包含标签时遇到问题。

我想实现以下目标

<include
   layout="@layout/layout_toolbar"
   app:menuVisible="true"
   />
Run Code Online (Sandbox Code Playgroud)

这是 layout_toolbar.xml

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

    <data>

        <import type="android.view.View"/>

        <variable
            name="menuVisible"
            type="Boolean"/>

    </data>

    <ImageView
        android:visibility="@{menuVisible ? View.VISIBLE : View.GONE, default=gone}"
        />
</layout>
Run Code Online (Sandbox Code Playgroud)

什么是合适的方法来做到这一点?

小智 6

您需要将布尔值传递为:app:menuVisible="@{true}"


小智 1

也许类型应该是“java.lang.Boolean”,就像这样

<data>

    <import type="android.view.View"/>

    <variable
        name="menuVisible"
        type="java.lang.Boolean"/>

</data>
Run Code Online (Sandbox Code Playgroud)