用相同的名称创建不同的属性

时间:2018-08-31 04:33:21

标签: android android-view android-xml android-resources android-attributes

我正在创建一个与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类使用相同的属性名称?

ThisBottomSheetBehavior 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。   错误:   链接引用失败。

0 个答案:

没有答案