ฉันเคยเห็นคำถาม 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 + เท่านั้น