Android Studio设计时数据绑定回退/默认值

ntjbwcob  于 2023-05-15  发布在  Android
关注(0)|答案(3)|浏览(173)

我正在使用Android数据绑定,它工作得很好:

<TextView
android:text="@{ee.Name}"
...

但如果我这样做,Android Studio设计器不会显示任何文本。没有文本,我根本看不到TextView。这是可以理解的,因为我还没有绑定数据。是否有类似于回退值或默认值的东西可以显示,直到有真实的数据?

hgqdbh6s

hgqdbh6s1#

您应该阅读Android开发者网站上发布的Data Binding Guide。本文档的最后一节Android Studio数据绑定支持介绍了如何使用占位符在设计阶段为您提供帮助。很简单

<TextView android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@{user.firstName, default=Placeholder}"/>

如果你想用空格作为占位符,你可以使用单引号('),反引号()或"`

android:text='@{user.firstName, default="Placeholder text"}'
android:text="@{user.firstName, default=`Placeholder text`}"
android:text="@{user.firstName, default=&quot;Placeholder text&quot;}"
android:text="@{user.firstName, default=@string/placeholder_text}"
0ejtzxu1

0ejtzxu12#

预览窗格显示数据绑定表达式的默认值。

android:text="@{user.firstName, default=PLACEHOLDER}"

这可以设置默认值。

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:text="@{defaultString ?? @string/hello_world}"/>
lnlaulya

lnlaulya3#

如果只想在设计时看到默认值,请考虑使用Designtime Layout Attributes。例如,如果您想将不正确的值(例如,太长的值),看看它是如何呈现的,但你不想在运行时看到它。
当然,您可以使用这两种技术-默认占位符(@Bandreid提到)和设计时属性。在这种情况下,您将在设计时看到设计时属性,在运行时看到占位符。

相关问题