【问题标题】:Android - Using databinding to assign a layout?Android - 使用数据绑定来分配布局?
【发布时间】:2019-06-26 17:27:54
【问题描述】:

我正在尝试使用数据绑定在标签中分配“布局”属性。我传入一个布尔值,告诉我应用程序是否处于暗模式。我使用此变量来确定是否应该分配白色按钮布局或黑色按钮布局。

我试图直观地做到这一点,因为我看到人们一直使用数据绑定布尔值在 xml 中分配值。

<include
      android:id="@+id/buy_with_google"
      layout="@{ isDarkMode ? @layout/buy_with_googlepay_button_white : @layout/buy_with_googlepay_button_black}"

错误:****/ 数据绑定错误 ****msg:包含的值(@{ isDarkMode ? @layout/buy_with_googlepay_button_white : @layout/buy_with_googlepay_button_black})必须以 @layout/ 开头。文件:[编辑文件路径] ****\数据绑定错误****```

数据绑定是不是不能让我使用逻辑来分配这样的整个布局?

【问题讨论】:

  • 请检查android数据绑定文档以获取正确的表达式developer.android.com/topic/libraries/data-binding/expressions
  • 我不确定您是否误解了这个问题。我使用的唯一表达式是三元运算符,它是完全有效的,我在很多地方都看到过。它不适用于包含标签中的布局吗?
  • 据我所知,我认为它不适用于布局属性。虽然查看这篇文章可能会对您有所帮助medium.com/@elia.maracani/…
  • 您找到问题的答案了吗?我也愿意这样做。

标签: android xml button


【解决方案1】:

这是不可能的,因为包含是在编译时执行的,并且不知道您的 viewModel 或任何运行时参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 2014-10-06
    相关资源
    最近更新 更多