MaterialRadioButton
использует по умолчанию селектор, в котором цвета основаны на colorOnSurface
, когда unchecked
и colorControlActivated
, когда checked
определено в теме вашего приложения.
Вы можете переопределить их, используя атрибут android:theme
. Что-то вроде:
<com.google.android.material.radiobutton.MaterialRadioButton
...
android:theme="@style/ThemeOverlay.RadioButton"/>
с:
<style name="ThemeOverlay.RadioButton" parent="">
<item name="colorControlActivated">@color/.....</item>
<item name="colorOnSurface">@color/.....</item>
<item name="colorSurface">@color/.....</item>
</style>
Вы также можете установить атрибут useMaterialThemeColors
на false
<com.google.android.material.radiobutton.MaterialRadioButton
...
useMaterialThemeColors="false"/>
и применить настраиваемый селектор используя CompoundButtonCompat#setButtonTintList
.
с таким селектором, как:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="..." android:state_enabled="true" android:state_checked="true" />
<item android:color="..." android:state_enabled="true" android:state_checked="false" />
<item android:color="..." android:state_enabled="false" android:state_checked="true" />
<item android:color="..." android:state_enabled="false" android:state_checked="false" />
</selector>