Ini adalah tombol pemilih sedemikian rupa sehingga ketika normal tampak merah, ketika ditekan tampak abu-abu.
Saya ingin bertanya bagaimana kode dapat dimodifikasi lebih lanjut sehingga ketika PRESSED ukuran teks dan warna juga bisa berubah? Terimakasih banyak!
<item android:state_pressed="true" >
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="2dp" android:color="@color/black" />
<solid android:color="@color/grey"/>
<padding android:left="5dp" android:top="2dp"
android:right="5dp" android:bottom="2dp" />
<corners android:radius="5dp" />
</shape>
</item>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="2dp" android:color="@color/black" />
<solid android:color="#FF6699"/>
<padding android:left="5dp" android:top="2dp"
android:right="5dp" android:bottom="2dp" />
<corners android:radius="5dp" />
</shape>
</item>
Anda tidak dapat mencapai perubahan ukuran teks dengan drawable daftar status . Untuk mengubah warna teks dan ukuran teks lakukan ini:
Warna teks
Untuk mengubah warna teks, Anda dapat membuat sumber daya daftar status warna . Ini akan menjadi sumber daya terpisah yang terletak di
res/color/
direktori. Dalam layout xml Anda harus mengaturnya sebagai nilai untukandroid:textColor
atribut. Pemilih warna kemudian akan berisi sesuatu seperti ini:Ukuran teks
Anda tidak dapat mengubah ukuran teks hanya dengan resource. Tidak ada "pemilih dimen". Anda harus melakukannya dalam kode. Dan tidak ada solusi langsung.
Mungkin solusi termudah mungkin memanfaatkan
View.onTouchListener()
dan menangani kejadian naik dan turun yang sesuai. Gunakan sesuatu seperti ini:Solusi yang berbeda mungkin untuk memperluas tampilan dan mengganti
setPressed(Boolean)
metode. Metode ini dipanggil secara internal saat terjadi perubahan status yang ditekan. Kemudian ubah ukuran teks sesuai dengan pemanggilan metode (jangan lupa untuk memanggil super).sumber
Buat custom_selector.xml di folder drawable
Buat bentuk selected.xml di folder drawable
Buat bentuk unselected.xml di folder drawable
Tambahkan warna berikut untuk status yang dipilih / tidak dipilih di folder color.xml nilai
Anda dapat memeriksa solusi lengkap dari sini
sumber
Cara terbaik untuk mengimplementasikan selector adalah dengan menggunakan xml daripada menggunakan cara programatik karena lebih mudah untuk diimplementasikan dengan xml.
Untuk informasi lebih lanjut saya menerapkan menggunakan tautan ini http://www.blazin.in/2016/03/how-to-use-selectors-for-botton.html
sumber
Dalam file Layout .xml
btn_selector.xml
sumber
Anda dapat menggunakan kode ini:
(File Pemilih) img_sublist_carat_selector.xml:
sumber