【发布时间】:2020-10-26 13:31:32
【问题描述】:
在我的项目中,我使用视图绑定来避免调用 findViewById() 方法。在 gradle 文件中,我已启用它,如下所述:
buildFeatures {
dataBinding true
}
buildFeatures {
viewBinding true
}
在 UI 的情况下工作正常。但在其中一个 UI 中,我有一个可绘制的,它是一个包含层列表的 xml,如下所述:
<?xml version="1.0" encoding="utf-8"?>
<item android:id="@android:id/background">
<shape>
<solid android:color="@color/colorProgressBarBgWhite" />
<corners android:radius="@dimen/progress_bar_radius" />
<padding
android:bottom="@dimen/progress_bar_bg_padding"
android:left="@dimen/progress_bar_bg_padding"
android:right="@dimen/progress_bar_bg_padding"
android:top="@dimen/progress_bar_bg_padding" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<layer-list>
<item
android:bottom="@dimen/progress_bar_padding"
android:left="@dimen/progress_bar_padding"
android:right="@dimen/progress_bar_padding"
android:top="@dimen/progress_bar_padding">
<shape>
<solid android:color="@color/colorProgressBarGrey" />
<corners android:radius="@dimen/progress_bar_radius" />
</shape>
</item>
</layer-list>
</clip>
</item>
如果我关闭视图绑定,我的代码可以正常编译。但如果打开视图绑定,我将面临以下错误:
Execution failed for task ':app:dataBindingGenBaseClassesDebug'.
无法将“android.widget.layer-list”解析为 custom_profile_completion_progress.xml 中的类
我的猜测是由于 layer-list 而发生,因为它不是用于用户界面的普通 XML,但它是其他一些 xml 的一部分。有什么解决办法吗??
【问题讨论】:
标签: android android-viewbinding