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

时间:2018-11-17 09:32:55

标签: android data-binding android-databinding

我使用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

1 个答案:

答案 0 :(得分:1)

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

<data>
  <import type="your.package.R" />
  ...
</data>
<ImageView
   ...
   app:imageResource="@{someConditionVariable ? R.mipmap.ic_for_true_condition : R.mipmap.ic_for_false_condition}"
   ... />