我想在我的一个项目中改变RadioButton的圆圈的颜色,但我不知道该设置哪个属性。背景颜色是黑色的,所以它是看不见的。我想把圆圈的颜色设置为白色。


当前回答

有时候你只需要像这样重写colorControlNormal:

<style name="RadioButtonStyle" parent="AppTheme">
    <item name="colorControlNormal">@color/pink</item>
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="android:textColorSecondary">@color/black</item>
</style>

你会得到一个这样的按钮:

colorControlNormal用于未检查状态,colorAccent用于已检查状态。

其他回答

这个kotlin扩展

fun RadioButton.setLangRadioColor(isCheck: Boolean) { val color = if (isCheck) { intArrayOf( ContextCompat.getColor(rootView.context, R.color.light_red), ContextCompat.getColor(rootView.context, R.color.light_red) ) } else { intArrayOf( ContextCompat.getColor(rootView.context, R.color.sortRadioUnselectColor), ContextCompat.getColor(rootView.context, R.color.sortRadioUnselectColor) ) } val colorStateList = ColorStateList( arrayOf( intArrayOf(-android.R.attr.state_enabled), // disabled intArrayOf(android.R.attr.state_enabled) // enabled ), color ) this.buttonTintList = colorStateList }

有时候你只需要像这样重写colorControlNormal:

<style name="RadioButtonStyle" parent="AppTheme">
    <item name="colorControlNormal">@color/pink</item>
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="android:textColorSecondary">@color/black</item>
</style>

你会得到一个这样的按钮:

colorControlNormal用于未检查状态,colorAccent用于已检查状态。

在res/values/colors.xml文件中,RadioButton默认采用colorAccent的颜色。 到那个文件中修改值

< [name = " colorAccent > # 3F51B5 < / [>

到你想要的颜色。

它有一个XML属性:

android:buttonTint="yourcolor"

我有这个问题。如果你的应用程序有一个黑色背景,你有很多的radiobutton是不可见的背景,这是复杂的编辑android:buttonTint属性的每一个。最好的解决方案是更改styles.xml文件中的父主题

我改变了

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

to

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">

因此,RadioButtons的圆圈变成了浅灰色,现在即使在黑色背景下也能看到。

这是我的style.xml文件:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>