Saya mencoba untuk mendapatkan efek radiobutton untuk tombol biasa di android
Saya memiliki tombol radio android sederhana di bawah ini
Kode untuk ini adalah ::
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="RadioButton1" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton2" />
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton3" />
</RadioGroup>
</RelativeLayout>
Cara menyesuaikannya seperti di bawah ini ::
Terima kasih !
[EDIT] menggunakan kode dari salah satu jawaban
Tetapi nama tombol dibayangi oleh opsi pilih cara menghapusnya?
{EDIT} lebih banyak perubahan
Perubahan terakhir harus minimal saya harus tahu tombol mana yang saya pilih dari tiga tombol radio .... apakah mungkin untuk mendapatkan seperti di bawah ini?
Jawaban:
Tambahkan latar belakang yang dapat digambar yang merujuk ke gambar, atau pemilih (seperti di bawah), dan buat tombol transparan:
Jika Anda ingin tombol radio Anda memiliki sumber yang berbeda saat dicentang, buat latar belakang pemilih yang dapat digambar:
res / drawable / yourbuttonbackground.xml
Dalam pemilih di atas, kami merujuk dua drawable,
a
danb
, inilah cara kami membuatnya:res / drawable / a.xml - Status Terpilih
res / drawable / b.xml - Keadaan Reguler
Lebih lanjut tentang drawables di sini: http://developer.android.com/guide/topics/resources/drawable-resource.html
sumber
android:button="@android:color/transparent"
untuk menghapusnya.Saya telah memperbarui jawaban yang diterima dan menghapus hal-hal yang tidak perlu.
Saya telah membuat XML untuk gambar berikut.
Kode XML Anda
RadioButton
adalah:radio_flat_selector.xml
untuk pemilih latar belakang:radio_flat_selected.xml
untuk tombol yang dipilih:radio_flat_regular.xml
untuk pemilih reguler:Semua 3 kode file di atas akan ada di
drawable/
folder.Sekarang kita juga perlu
Text
Pemilih Warna untuk mengubah warna teks yang sesuai.radio_flat_text_selector.xml
untuk pemilih warna teks(Gunakan
color/
folder untuk file ini.)Catatan: Saya memberi referensi pada banyak jawaban untuk jenis solusi ini tetapi tidak menemukan solusi yang baik jadi saya membuatnya.
Semoga bermanfaat bagi Anda.
Terima kasih.
sumber
Gunakan format file XML yang sama dari jawaban Evan, tetapi hanya satu file yang dapat ditarik yang Anda butuhkan untuk memformat.
Dan file drawable Anda yang terpisah:
sumber
Pengaturan
android:background
danandroid:button
RadioButton seperti jawaban yang diterima tidak bekerja untuk saya. Gambar yang dapat ditarik sedang ditampilkan sebagai latar belakang (meskipunandroid:button
sedang diatur untuk transparan) ke teks tombol radio sebagaijadi beri radiobutton sebagai radiobuttonstyle.xml yang dapat dibuat kustom
dan radiobuttonstyle.xml adalah sebagai berikut
dan setelah radiobutton ini dengan gaya tombol kustom bekerja.
sumber
Anda harus mengisi atribut "Tombol" dari kelas "CompoundButton" dengan jalur XML drawable ( my_checkbox ). Di XML drawable, Anda harus memiliki:
Jangan lupa untuk mengganti my_checkbox dengan nama file Anda pada checkbox drawable, checkbox_not_checked oleh PNG drawable Anda yang merupakan checkbox Anda ketika tidak dicentang dan checkbox_checked dengan gambar Anda saat dicentang.
Untuk ukuran, langsung perbarui parameter tata letak.
sumber
android:background
theandroid:button
; kemudian mendeklarasikanandroid:button
sebagai transparan. Dengan cara ini teks dapat duduk di dalam tombol.Untuk menyembunyikan tombol radio default, saya sarankan untuk menghapus tombol alih-alih membuatnya transparan karena semua umpan balik visual ditangani oleh latar belakang yang dapat digambar:
Juga akan lebih baik menggunakan gaya karena ada beberapa tombol radio:
Anda juga akan membutuhkan Seslyn customButtonBackground yang dapat digambar .
sumber
Cara terbaik untuk menambahkan drawable khusus adalah:
Hamparan bayangan oleh drawable khusus dihapus di sini.
sumber
background
satu. Jika Anda mengatur latar belakang, Anda tidak dapat menambahkan teks ke RadioButton, dan perlu menempatkan TextView Anda sendiriCara sederhana coba ini
Buat tata letak baru di folder yang dapat digambar dan beri nama custom_radiobutton (Anda juga dapat mengganti nama)
Gunakan ini dalam aktivitas tata letak Anda
sumber
Kode di bawah ini adalah contoh tombol radio kustom. ikuti langkah-langkah di bawah ini ..
File xml.
2. Tambahkan xml khusus untuk tombol radio
2.1. Gambar lainnya
custom_other_button.xml
2.2.pria dapat ditarik
custom_female_button.xml
2.3. laki-laki yang dapat ditarik
custom_radio_button.xml
sumber
Saya menyadari ini adalah jawaban yang terlambat, tetapi melihat melalui developer.android.com, sepertinya tombol Toggle akan ideal untuk situasi Anda.
http://developer.android.com/guide/topics/ui/controls/togglebutton.html
Dan tentu saja Anda masih dapat menggunakan saran lain untuk memiliki latar belakang yang dapat digambar untuk mendapatkan tampilan kustom yang Anda inginkan.
Sekarang jika Anda ingin pergi dengan edit terakhir Anda dan memiliki efek "halo" di sekitar tombol Anda, Anda dapat menggunakan pemilih kustom lain untuk melakukan hal itu.
sumber