Saat Anda menggunakan android:background
, Anda mengganti banyak gaya dan tampilan dan nuansa tombol dengan warna kosong.
Update: Sampai dengan rilis versi 23.0.0 dari appcompat , ada yang baru Widget.AppCompat.Button.Colored
gaya yang menggunakan tema Anda colorButtonNormal
untuk warna cacat dan colorAccent
untuk warna diaktifkan.
Ini memungkinkan Anda menerapkannya ke tombol Anda langsung melalui
<Button
...
style="@style/Widget.AppCompat.Button.Colored" />
Jika Anda memerlukan kustom colorButtonNormal
atau colorAccent
, Anda dapat menggunakan ThemeOverlay
seperti yang dijelaskan dalam pro-tip ini dan android:theme
pada tombol.
Jawaban Sebelumnya
Anda dapat menggunakan drawable di direktori v21 Anda untuk latar belakang Anda seperti:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item android:drawable="?attr/colorPrimary"/>
</ripple>
Ini akan memastikan warna latar belakang Anda ?attr/colorPrimary
dan memiliki animasi riak default menggunakan default ?attr/colorControlHighlight
(yang Anda juga dapat mengatur dalam tema Anda jika Anda mau).
Catatan: Anda harus membuat pemilih khusus kurang dari v21:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/primaryPressed" android:state_pressed="true"/>
<item android:drawable="@color/primaryFocused" android:state_focused="true"/>
<item android:drawable="@color/primary"/>
</selector>
Dengan asumsi Anda memiliki beberapa warna yang Anda inginkan untuk keadaan default, ditekan, dan fokus. Secara pribadi, saya mengambil screenshot dari riak di tengah dipilih dan menarik negara / fokus utama dari itu.