当前位置: 首页 > 知识库问答 >
问题:

更改单选按钮的圆圈颜色

韩高峯
2023-03-14

我想在我的一个项目中更改RadioButton圆圈的颜色,但我不知道要设置哪个属性。背景色为黑色,因此不可见。我想把圆圈的颜色设置为白色。

共有3个答案

谢唯
2023-03-14
<android.support.v7.widget.AppCompatRadioButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:buttonTint="@color/Color" />
黄查猛
2023-03-14

更新:

>

  • 用这个代替

    <android.support.v7.widget.AppCompatRadioButton
         android:id="@+id/rbtn_test"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         app:buttonTint="@color/primary" />
    

    然后将这一行添加到父布局中,或者在Android Studio中输入Alt以自动添加xmlns:app=”http://schemas.android.com/apk/res-auto“

    最起码的例子应该是这样的:

    <?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>
    

    基本上,这种模式可以应用于所有AppCompact类型,如AppCompatCheckBox、AppCompatButton等。

    旧答案:

    为了支持下面的android API 21,可以使用AppCompatRadioButton。然后使用setSupportButtonTintList方法更改颜色。这是我创建单选按钮的代码片段。

        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);
    

    API 19的测试结果:

    有关更多详细信息,请参阅Android参考链接。

  • 胡嘉歆
    2023-03-14

    只需设置buttonTint颜色(仅适用于API级别21或更高版本)就更简单了:

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/radio"
        android:checked="true"
        android:buttonTint="@color/your_color"/>
    

    在您的值/colors.xml文件中,输入您的颜色,在本例中为红色:

    <color name="your_color">#e75748</color>
    

    结果:

    如果您想通过代码(也包括API 21及以上版本)完成此操作:

    if(Build.VERSION.SDK_INT >= 21)
    {
        ColorStateList colorStateList = new ColorStateList(
                new int[][]
                {
                    new int[]{-android.R.attr.state_enabled}, // Disabled
                    new int[]{android.R.attr.state_enabled}   // Enabled
                },
                new int[]
                {
                    Color.BLACK, // disabled
                    Color.BLUE   // enabled
                }
            );
    
        radio.setButtonTintList(colorStateList); // set the color tint list
        radio.invalidate(); // Could not be necessary
    }
    
     类似资料:
    • 我正在开发一个基于测验的应用程序。将有1个问题和4个选项(单选按钮)。如果用户选择了任何错误的答案,那么我想将单选按钮颜色变为红色。如何做到这一点?

    • 问题内容: 我的意思是,单选按钮本身由一个圆形和一个位于中心的点组成(选择该按钮时)。我要更改的是两者的颜色。可以使用CSS完成吗? 问题答案: 一种快速的解决方法是使用来覆盖单选按钮的输入样式,但是创建自己的自定义工具箱可能是更好的做法。

    • 我想知道如何在android中更改单选按钮的圆圈和边框的颜色。请帮我试了两天。

    • 我用的是Android Studio。我需要更改单选按钮的颜色,在将“按钮颜色”值更改为我需要的颜色后,它会在预览中工作,但每当我在设备上启动应用程序时,按钮都是标准的绿色/蓝色。 这是某种设备API级别的问题吗?如果是这样,是否可以更改旧设备的颜色?

    • 我在一个HTML页面上有2个按钮组。每组3到4个按钮(使用引导程序的按钮)。我想使用Javascript在没有onclick的情况下更改点击时的颜色按钮。 用户将单击组1中的任何按钮(单击“将颜色改为绿色”时),然后单击组2中的按钮,而不取消选择组1中的按钮。 null null

    • 我想知道它是否可能以编程方式进行,以及如何在选中RadioButton时以编程方式更改其颜色? PS:我不想使用XML 在XML中,我使用这样的东西及其工作: 在我style.xml 我如何通过编程实现这一点?