5

在我当前的项目 styles.xml 中,我尝试定义:

<resources xmlns:ripple="http://schemas.android.com/apk/res-auto">
<resources xmlns:ripple="http://schemas.android.com/apk/res/com.gorkem.components">

我用这个:

<style name="FlatTextRipple">
    <item name="ripple:rv_centered">true</item>
    <item name="ripple:rv_color">#CCCCCC</item>
    <item name="ripple:rv_type">simpleRipple</item>
    <item name="ripple:rv_zoom">true</item>
    <item name="ripple:rv_zoomDuration">300</item>

</style>

在我的图书馆项目中,我有 attrs.xml:

<declare-styleable name="RippleView">
    <attr name="rv_alpha" format="integer" />
    <attr name="rv_framerate" format="integer" />
    <attr name="rv_rippleDuration" format="integer" />
    <attr name="rv_zoomDuration" format="integer" />
    <attr name="rv_color" format="color" />
    <attr name="rv_centered" format="boolean" />
    <attr name="rv_type" format="enum">
        <enum name="simpleRipple" value="0" />
        <enum name="doubleRipple" value="1" />
        <enum name="rectangle" value="2" />
    </attr>
    <attr name="rv_ripplePadding" format="dimension" />
    <attr name="rv_zoom" format="boolean" />
    <attr name="rv_zoomScale" format="float" />
</declare-styleable>

但是我不明白什么时候Í像在布局中那样使用它正在运行但是当我使用 style.xml gradle 时不能 attr 并且它给了我这个错误:

    Error:(6, 21) No resource found that matches the given name: attr 'ripple:rv_centered'.
    Error:(7, 21) No resource found that matches the given name: attr 'ripple:rv_color'.
    Error:(8, 21) No resource found that matches the given name: attr 'ripple:rv_type'.
    Error:(9, 21) No resource found that matches the given name: attr 'ripple:rv_zoom'.
4

1 回答 1

7

样式与您在布局中所做的不匹配。在您的styles.xml中,删除您的自定义xmlns声明,然后直接使用不带前缀的属性,如下所示:

<style name="FlatTextRipple">
    <item name="rv_centered">true</item>
    <item name="rv_color">#CCCCCC</item>
    <item name="rv_type">simpleRipple</item>
    <item name="rv_zoom">true</item>
    <item name="rv_zoomDuration">300</item>
</style>
于 2014-11-25T17:02:59.957 回答