0

我正在创建一个与 非常相似的类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。错误:链接引用失败。

4

0 回答 0