Android DataBinding - 为什么数据绑定不支持@mipmap图片?

问题描述 投票:1回答:1

使用DataBinding,我试图从mipmap文件夹中访问图标,在写了一段代码后,它没有编译模型类,并在日志中显示错误--""令牌识别错误". 看看下面的截图,即使它不允许@mipmap。如果有人知道原因,请告诉我

<ImageView
            android:id="@+id/img_page1"
            android:layout_width="@dimen/splash_slider_circle"
            android:layout_height="@dimen/splash_slider_circle"
            android:src="@{slider.img1 ? @mipmap/ic_circle_filled : @mipmap/ic_circle_outline}" />

enter image description here

android data-binding android-databinding
1个回答
0
投票

我不知道上述行为的确切原因。但如果不方便将所有的图标从mipmap移到可绘制的文件夹,可以在布局中导入你生成的R类,并引用mipmaps,条件是以 R.mipmap 并使用 app:imageResource 属性。

<data>
  <import type="your.package.R" />
  ...
</data>
<ImageView
   ...
   app:imageResource="@{someConditionVariable ? R.mipmap.ic_for_true_condition : R.mipmap.ic_for_false_condition}"
   ... />
© www.soinside.com 2019 - 2024. All rights reserved.