Hindari efek riak menggabungkan warna [duplikat]
Saya memiliki program sederhana yang menggunakan efek riak menggunakan kode ini ( diedit dari sini ):
<?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>
semuanya bekerja dengan baik, tetapi saya ingin warna riak (biru) berada di atas warna latar belakang (merah) tidak digabungkan dengannya menjadi ungu.
SCREENSHOT:
before:
in process:
after:
apa yang saya inginkan setelah:
ada cara untuk mencapai ini?
Terima kasih sebelumnya.
Jawaban
MohammedAlaa
Saya telah mengeditnya sedikit, Anda dapat mencoba sampel ini
<?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>
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat