未显示Android AppCompatRadioButton圆圈

未显示Android AppCompatRadioButton圆圈,android,radio-button,android-radiogroup,Android,Radio Button,Android Radiogroup,我使用此代码创建新单选按钮,并将其添加到radioGroup RadioButton buttonh = new RadioButton(getApplicationContext()); RadioGroup.LayoutParams params_rb = new RadioGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT,

我使用此代码创建新单选按钮,并将其添加到
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>

@颜色/我的颜色太棒了
@颜色/我的超棒的颜色
@颜色/口音
以及:



我需要将其编程为您应该使用ContextThemeWrapper,这会更改默认主题。只需像平常一样获取一个上下文,并像下面那样使用它:newRadioButton(newContextThemeWrapper(context,R.style.Theme.MyRadioButton));通过使用
myActivity解决。此
而不是
getApplicationContext()
请将您的评论作为回答并接受它。这样其他人就可以很容易地看到它。
<RadioButton
    ....................................
    android:theme="@style/Theme.MyRadioButton">
</RadioButton>