Android AppCompatRadioButton 圆圈未显示

标签 android radio-button android-radiogroup

我使用此代码创建新的单选按钮并将其添加到radioGroup

            RadioButton buttonh = new  RadioButton(getApplicationContext());
            RadioGroup.LayoutParams params_rb = new RadioGroup.LayoutParams(
                    ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT);

            buttonh.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
            buttonh.setGravity(Gravity.START);
            params_rb.setMargins(0, 0, 12, 0);
            buttonh.setTextColor(getResources().getColor(R.color.textColor));
            buttonh.setTextAlignment(View.TEXT_ALIGNMENT_TEXT_START);
            buttonh.setText(Html.fromHtml(mscs.get("time_am")));
            radiox.addView(buttonh,params_rb);

它的工作,但它显示不同颜色的圆圈,所以我必须将其更改为

  AppCompatRadioButton buttonh = new AppCompatRadioButton(this);

但是当我使用这段代码时,圆圈消失了,只有文本显示了任何想法?

我也尝试为圆圈添加颜色,但似乎没有只有圆圈的文本

       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),
                    }
            );
            buttonh.setSupportButtonTintList(colorStateList);

最佳答案

首先,您应该查看那里的 appCompat lib 文章以及您可以设置的不同属性:

colorPrimary:应用程序的主要品牌颜色。默认情况下,这是应用于操作栏背景的颜色。

colorPrimaryDark:主要品牌颜色的深色变体。默认情况下,这是应用于状态栏(通过 statusBarColor)和导航栏(通过 navigationBarColor)的颜色。

colorAccent:对主要品牌颜色的明亮补充。默认情况下,这是应用于框架控件的颜色(通过 colorControlActivated)。

colorControlNormal:应用于正常状态下框架控件的颜色。

colorControlActivated:应用于处于激活(例如选中、打开)状态的框架控件的颜色。

colorControlHighlight:应用于框架控件突出显示的颜色(例如波纹、列表选择器)。

colorButtonNormal:应用于正常状态下的框架按钮的颜色。 使用之前的属性,您可以为 RadioButton 定义自己的主题:

<style name="Theme.MyRadioButton" parent="Theme.AppCompat.Light">
    <!-- colorPrimary is used for the default action bar background -->
    <item name="colorPrimary">@color/my_awesome_color</item>

    <!-- colorPrimaryDark is used for the status bar -->
    <item name="colorPrimaryDark">@color/my_awesome_darker_color</item>

    <!-- colorAccent is used as the default value for colorControlActivated,
         which is used to tint widgets -->
    <item name="colorAccent">@color/accent</item>

    <!-- You can also set colorControlNormal, colorControlActivated
         colorControlHighlight, and colorSwitchThumbNormal. -->

</style>

和:

<RadioButton
    ....................................
    android:theme="@style/Theme.MyRadioButton">
</RadioButton>

关于Android AppCompatRadioButton 圆圈未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41085671/

相关文章:

android - 右侧带有选中指示器的自定义单选按钮

android - Wifi扫码

html - 造型 radio 输入

android - 如何将 radio 组 View 设置为不可点击

javascript - 将类添加到单选按钮

javascript - .单击包含 radio 的列表 - 无法直接选择 radio

android - 如何在 Activity 中的 Alert Builder 对话框中填充 radio 组?

android - 无法实例化接收器 java.lang.ClassNotFoundException

java 。如何重新定义 MediaPlayer 实例的 onCompletion 方法

android - 保存位图的 RGB