未显示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>