我正在尝试为带有笔触的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,我该怎么做?

最佳答案

按照the documentation,您添加另一个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>

关于android - 保持中风波动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30728844/

10-12 16:05