小编典典

styles.xml 中的自定义属性

all

我创建了一个自定义小部件,并在 layout.xml 中声明它。我还在 attr.xml 中添加了一些自定义属性。但是,当尝试在 styles.xml
中以样式声明这些属性时,它给了我No resource found that matches the given name: attr 'custom:attribute'.

我已将xmlns:custom="http://schemas.android.com/apk/res/com.my.package"所有标签放入
styles.xml 中,包括<?xml><resources><style>,但它仍然给我同样的错误,它找不到我的自定义 XML
命名空间。

但是,我可以使用我的命名空间手动为 layout.xml 中的视图分配属性,因此命名空间没有任何问题。我的问题在于让styles.xml
知道我的attr.xml。


阅读 70

收藏
2022-07-30

共1个答案

小编典典

我想到了!答案是 不要 在样式中指定命名空间。

<?xml version="1.0" encoding="utf-8" ?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="CustomStyle">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>

        <item name="custom_attr">value</item> <!-- tee hee -->
    </style>
</resources>
2022-07-30