Android AppCompatRadioButton圈未显示

时间:2016-12-11 11:32:02

标签: 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);

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

colorControlActivated:在激活(例如,检查,打开)状态下应用于框架控件的颜色。

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

colorButtonNormal:在正常状态下应用于框架按钮的颜色。 使用以前的attributs,您可以为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>