Update:
1. Verwenden Sie stattdessen dieses
<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. Fügen Sie diese Zeile dann in das übergeordnete Layout oder Alt + Enter
in Android Studio ein, um sie automatisch hinzuzufügen
xmlns:app="http://schemas.android.com/apk/res-auto"
Das Mindestbeispiel sollte folgendermaßen aussehen:
<?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. Sollte in Ihrem Programm so aufrufen.
AppCompatRadioButton radioButton = (AppCompatRadioButton) view.findViewById(R.id.rbtn_test);
Grundsätzlich kann diese Art von Muster für alle AppCompact-Typen wie AppCompatCheckBox, AppCompatButton usw. angewendet werden.
Alte Antwort:
Um die unten stehende Android API 21 zu unterstützen, können Sie AppCompatRadioButton verwenden. Verwenden Sie dann die setSupportButtonTintList
Methode, um die Farbe zu ändern. Dies ist mein Code-Snippet zum Erstellen eines Optionsfelds.
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);
Testergebnis bei API 19:
Weitere Informationen finden Sie unter dem Android- Referenzlink .