물결 효과 결합 색상 방지 [중복]

Dec 18 2020

이 코드를 사용하여 파급 효과를 사용하는 간단한 프로그램이 있습니다 ( 여기에서 편집 ).

<?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>

모든 것이 잘 작동하지만 잔물결 색상 (파란색)이 보라색으로 결합되지 않고 배경색 (빨간색) 위에 있도록하고 싶습니다 .

스크린 샷 :

이전 :


진행 중 :

이후 : 이후에

원하는 것 :

이것을 달성하는 방법은 무엇입니까?
미리 감사드립니다.

답변

MohammedAlaa Dec 18 2020 at 01:27

이 샘플을 시도해 볼 수 있습니다.

<?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>