Pembaruan:
1. gunakan yang ini sebagai gantinya
<android.support.v7.widget.AppCompatRadioButton
android:id="@+id/rbtn_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:buttonTint="@color/primary" />
2. Kemudian tambahkan baris ini ke tata letak induk atau Alt + Enter
di Android Studio untuk ditambahkan secara otomatis
xmlns:app="http://schemas.android.com/apk/res-auto"
Contoh minimum akan terlihat seperti ini:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.AppCompatRadioButton
android:id="@+id/rbtn_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:buttonTint="@color/primary" />
</LinearLayout>
3. Dalam program Anda, harus memanggil seperti ini.
AppCompatRadioButton radioButton = (AppCompatRadioButton) view.findViewById(R.id.rbtn_test);
Pada dasarnya, pola seperti ini dapat diterapkan untuk semua jenis AppCompact seperti AppCompatCheckBox, AppCompatButton dan sebagainya.
Jawaban lama:
Untuk mendukung Android 21 API di bawah ini, Anda dapat menggunakan AppCompatRadioButton. Kemudian gunakan setSupportButtonTintList
metode untuk mengubah warna. Ini adalah cuplikan kode saya untuk membuat tombol radio.
AppCompatRadioButton rb;
rb = new AppCompatRadioButton(mContext);
ColorStateList colorStateList = new ColorStateList(
new int[][]{
new int[]{-android.R.attr.state_checked},
new int[]{android.R.attr.state_checked}
},
new int[]{
Color.DKGRAY
, Color.rgb (242,81,112),
}
);
rb.setSupportButtonTintList(colorStateList);
Hasil yang diuji di API 19:
Lihat tautan referensi android untuk detail lebih lanjut.