gpt4 book ai didi

android - Android XML 布局中条件语句的语法

转载 作者:IT老高 更新时间:2023-10-28 23:28:52 31 4
gpt4 key购买 nike

通过数据绑定(bind),我们现在经常在布局文件中看到如下代码:

<Variable name="displayIt" type="Boolean"/>

然后:

android:visibility="@{displayIt ? View.VISIBLE : View.GONE}"

(当然必须先导入android.view.View,View.VISIBLE和View.GONE才有意义)

这使得控制 View 变得更加容易。它还告诉我在 XML 布局中允许使用条件语句,但看起来我的 google-fu 很弱,我试过但找不到它的语法。如果我想使用文字怎么办?比如:

android:text="{@isValid ? "valid" : "invalid"}"

(是的,我知道这是一种愚蠢的做法,我只是在谈论这里的语法)。或者资源 ID 呢?也许像:

android:color="@{isValid ? R.color.green : R.color.red}"

可以吗?正确的语法是什么?

最佳答案

调用数据绑定(bind)语句的正确语法类似于 "@{<some expression>}" ,因此三元条件将是

"@{bool ? ifTrue : ifFalse}"

这两个值将是您通常在没有数据绑定(bind)的情况下放入 XML 的(不带引号的)值。

例如

android:color="@{isValid ? @color/green : @color/red}"

或者,您可以导入具有所需静态字段的类,例如

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

还有

android:visibility="@{isVisible ? View.VISIBLE : View.GONE}"

这两者都显示在 data binding documentation

关于android - Android XML 布局中条件语句的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38407664/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com