ฉันเคยเห็นคำถาม SO และพวกเขาให้วิธีการที่เป็นไปได้เพื่อบรรลุสิ่งที่ฉันต้องการ ตัวอย่างเช่น:
ใช้
colorControlHighlight
แอตทริบิวต์ใน styles.xmlนี่คือสไตล์ของฉัน -v21.xml:
<style name="SelectableItemBackground"> <item name="android:colorControlHighlight">#5677FC</item> <item name="android:background">?attr/selectableItemBackground</item> </style>
และวิดเจ็ตของฉัน:
<TextView android:id="@+id/tv_take_photo_as_bt" android:layout_width="280dp" android:layout_height="48dp" android:text="@string/act_take_photo" style="@style/SelectableItemBackground"/>
และไม่ได้ผล ฉันยังพยายามเพิ่ม
parent="Theme.AppCompat
ในสไตล์ "SelectableItemBackground" หรือเปลี่ยนเป็นcolorControlHighlight(no android: prefix)"
หรือเปลี่ยน?android:attr/selectableItemBackground
เป็นก็ไม่มีประโยชน์ใช้
backgroundTint
แอตทริบิวต์ในเค้าโครงดังนั้นผมจึงเพิ่มของฉัน
android:backgroundTint="#5677FC"
TextView
ยังไม่มีประโยชน์. จากนั้นผมก็พยายามที่จะเปลี่ยนandroid:backgroundTintMode
ไปsrc_in
และsrc_atop
และพวกเขาไม่เคยสร้างความแตกต่าง
ดังนั้นฉันจะเปลี่ยนสีของระลอกคลื่นได้อย่างไรเมื่อใช้?attr/selectableItemBackground
เป็นพื้นหลัง ฉันเน้นเฉพาะ Lollipop ขึ้นไปเท่านั้น ขอบคุณล่วงหน้า!
colorControlHighlight
แทนได้android:colorControlHighlight
ผลดีกว่าสำหรับฉันมิฉะนั้นจะใช้สำหรับ v21 + เท่านั้น