我正在创建一个与 非常相似的类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
类使用相同的属性名称?
这是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
我想要的文件MyBehavior
:
<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>
更新:
我尝试了 pskink 在评论中所说的使用<attr name="android:behavior_hideable" />
:
<resources>
<declare-styleable name="MyBehavior_Layout">
<attr name="android:behavior_peekHeight" >
<enum name="auto" value="-1"/>
</attr>
<attr name="android:behavior_hideable" />
<attr name="android:behavior_skipCollapsed" />
<attr name="android:behavior_fitToContents" />
</declare-styleable>
</resources>
它仍然不起作用,我收到错误:
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。错误:链接引用失败。