11

ストロークのあるripple背景drawableを作成しようとしています。Button

これは私がこれまでに持っているものです:

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#336699">

    <item>
        <shape android:shape="rectangle">

            <solid android:color="#998811" />

            <stroke
                android:width="2dp"
                android:color="#119988" />

        </shape>
    </item>
</ripple>

しかし、このソリューションでは、波紋が私のストロークと重なっています。
ストローク内のみが必要ですがripple、どうすればよいですか?

4

1 に答える 1

15

ドキュメントに従って、 id を持つ別のアイテムを追加します@android:id/mask。これにより、リップルの行き先が制限されます。次のように、それを挿入するように設定できます。

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#336699">

    <item>
        <shape android:shape="rectangle">

            <solid android:color="#998811" />

            <stroke
                android:width="2dp"
                android:color="#119988" />

        </shape>
    </item>

    <item android:id="@android:id/mask">
        <inset android:insetBottom="2dp"
               android:insetLeft="2dp" 
               android:insetRight="2dp"
               android:insetTop="2dp">
            <shape android:shape="rectangle">
                <!-- Color doesn't matter -->
                <solid android:color="@android:color/white"/>
            </shape>
        </inset>
    </item>
</ripple>
于 2015-07-24T10:41:29.057 に答える