ฉันสร้างปุ่มขึ้นมาและต้องการเพิ่มเอฟเฟกต์ระลอกคลื่นให้กับปุ่มนั้น!
ฉันสร้างไฟล์ XML ปุ่ม bg: (bg_btn.xml)
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient android:startColor="#FFFFFF" android:endColor="#00FF00" android:angle="270" />
<corners android:radius="3dp" />
<stroke android:width="5px" android:color="#000000" />
</shape>
และนี่คือไฟล์เอฟเฟกต์ระลอกของฉัน: (ripple_bg.xml)
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:color="#f816a463"
tools:targetApi="lollipop">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="#f816a463" />
</shape>
</item>
</ripple>
และนี่คือปุ่มของฉันที่ฉันต้องการเพิ่มเอฟเฟกต์ระลอกคลื่น:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_centerHorizontal="true"
android:layout_marginTop="173dp"
android:textColor="#fff"
android:background="@drawable/ripple_bg"
android:clickable="true" />
แต่หลังจากเพิ่มพื้นหลังของปุ่มเอฟเฟกต์ระลอกจะโปร่งใสและปุ่มจะแสดงเมื่อคลิกเท่านั้นดังนี้:
ก่อนคลิก
เมื่อคลิก
แต่ฉันต้องการทั้งสีพื้นหลังของปุ่มและเอฟเฟกต์ระลอกคลื่นฉันพบโค้ดนี้บางส่วนในบล็อกต่าง ๆ ของ Stack Overflow แต่ก็ยังใช้งานไม่ได้!
l
หรือm
ลิงก์รูปภาพได้ (ดูการแก้ไขของฉัน)