我正在创建一个与BottomSheetBehavior
非常相似的类,因此我想在自己的attrs.xml
中保持相同的属性名称以保持一致性,但是Android Studio对此有所抱怨:>
Android资源编译失败输出: C:\ Projects \ MyProject \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values \ values.xml:1724: 错误:重复的资源'attr / behavior_peekHeight'的值与 配置”。 C:\ Projects \ MyProject \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values \ values.xml:1724: 错误:先前在此处定义的资源。
是否可以为两个不同的View
类使用相同的属性名称?
This是BottomSheetBehavior
attrs.xml
:
<resources>
<declare-styleable name="BottomSheetBehavior_Layout">
<attr name="behavior_peekHeight" format="dimension">
<enum name="auto" value="-1"/>
</attr>
<attr name="behavior_hideable" format="boolean"/>
<attr name="behavior_skipCollapsed" format="boolean"/>
<attr name="behavior_fitToContents" format="boolean"/>
</declare-styleable>
</resources>
这是我想要的attrs.xml
的{{1}}文件:
MyBehavior
更新:
我尝试了pskink在评论中所说的,以使用<resources>
<declare-styleable name="MyBehavior_Layout">
<attr name="behavior_peekHeight" format="dimension">
<enum name="auto" value="-1"/>
</attr>
<attr name="behavior_hideable" format="boolean"/>
<attr name="behavior_skipCollapsed" format="boolean"/>
<attr name="behavior_fitToContents" format="boolean"/>
</declare-styleable>
</resources>
:
<attr name="android:behavior_hideable" />
它仍然不起作用,出现错误:
Android资源链接失败
输出:
C:\ Projects \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values \ values.xml:1724: 错误:找不到资源android:attr / behavior_peekHeight。
C:\ Projects \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values \ values.xml:1729: 错误:找不到资源android:attr / behavior_hideable。
C:\ Projects \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values \ values.xml:1731: 错误:找不到资源android:attr / behavior_skipCollapsed。
C:\ Projects \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values \ values.xml:1733: 错误:找不到资源android:attr / behavior_fitToContents。 错误: 链接引用失败。