2

我有一个使用此代码(从此处编辑)使用涟漪效应的简单程序:

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#0000ff"><!--blue-->
    <item android:id="@android:id/mask">
        <shape android:shape="rectangle">
            <solid android:color="#0000ff" /><!--blue-->
            <corners android:radius="20dp" />
        </shape>
    </item>

    <item android:id="@android:id/background">
        <shape android:shape="rectangle">
            <solid android:color="#ff0000"/><!--red-->
            <corners android:radius="20dp" />
        </shape>
    </item>
</ripple>

一切正常,但我希望波纹颜色(蓝色)高于背景颜色(红色),而不是与它结合成紫色。

截屏:

之前: 进行中: 之后:我想要做的事情:
前

进行中

在此处输入图像描述

在此处输入图像描述

有什么办法可以做到这一点?
提前致谢。

4

1 回答 1

0

我已经对其进行了一些编辑,您可以尝试此示例

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#0000ff">
<item>
    <selector>
        <item android:state_pressed="true">
            <shape android:shape="rectangle">
                <solid android:color="@android:color/transparent"/>
                <corners android:radius="20dp" />
            </shape>
        </item>

        <item android:state_pressed="false">
            <shape android:shape="rectangle">
                <solid android:color="#ff0000"/>
                <corners android:radius="20dp" />
            </shape>
        </item>

    </selector>
</item>
<item android:id="@android:id/mask">
    <shape android:shape="rectangle">
        <solid android:color="#0000ff" />
        <corners android:radius="20dp" />
    </shape>
</item>
</ripple>
于 2020-12-17T18:27:55.220 回答