我正在使用Android数据绑定,它工作得很好:
<TextView android:text="@{ee.Name}" ...
但如果我这样做,Android Studio设计器不会显示任何文本。没有文本,我根本看不到TextView。这是可以理解的,因为我还没有绑定数据。是否有类似于回退值或默认值的东西可以显示,直到有真实的数据?
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="Placeholder text"}" android:text="@{user.firstName, default=@string/placeholder_text}"
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}"/>
lnlaulya3#
如果只想在设计时看到默认值,请考虑使用Designtime Layout Attributes。例如,如果您想将不正确的值(例如,太长的值),看看它是如何呈现的,但你不想在运行时看到它。当然,您可以使用这两种技术-默认占位符(@Bandreid提到)和设计时属性。在这种情况下,您将在设计时看到设计时属性,在运行时看到占位符。
3条答案
按热度按时间hgqdbh6s1#
您应该阅读Android开发者网站上发布的Data Binding Guide。本文档的最后一节Android Studio数据绑定支持介绍了如何使用占位符在设计阶段为您提供帮助。很简单
如果你想用空格作为占位符,你可以使用单引号('),反引号(
)或
"`0ejtzxu12#
预览窗格显示数据绑定表达式的默认值。
这可以设置默认值。
lnlaulya3#
如果只想在设计时看到默认值,请考虑使用Designtime Layout Attributes。例如,如果您想将不正确的值(例如,太长的值),看看它是如何呈现的,但你不想在运行时看到它。
当然,您可以使用这两种技术-默认占位符(@Bandreid提到)和设计时属性。在这种情况下,您将在设计时看到设计时属性,在运行时看到占位符。