求助RadioButton的动态添加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助RadioButton的动态添加相关的知识,希望对你有一定的参考价值。

我的布局文件里有一个RelativeLayout ,里面嵌套一个HorizontalScrollView,HorizontalScrollView里有RadioGroup,如何动态添加进若干个RadioButton? 并且RadioButton要使用Style资源

参考技术A radioButton = new RadioButton(this);radioButton.setText(m_DStr);radio_group.addView(radioButton)

利用代码动态改变radiobutton 的 selector

因为公司业务需求,需要在特定时期改变页面样式,其中有一个radiobutton要在特定时期修改为特定的样式,图片和字体颜色都需要修改,这里需要用到StateListDrawable修改radiobutton的背景图片,还需要ColorStateList修改字体颜色

 StateListDrawable arriveddrawable = new StateListDrawable();
        Drawable arriveselected = getResources().getDrawable(R.drawable.new_year_site_on);
        Drawable arriveunSelected = getResources().getDrawable(R.drawable.new_year_site_off);
        arriveddrawable.addState(new int[]android.R.attr.state_checked,
                arriveselected);
        arriveddrawable.addState(new int[]-android.R.attr.state_checked,
                arriveunSelected);
        rbtnArrival.setCompoundDrawablesWithIntrinsicBounds(null, arriveddrawable, null, null);

StateListDrawable 加载不同状态下对应的图片资源

注意 上面的“-”负号表示对应的属性值为false

如此,就可以实现

对字体颜色的修改

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="@color/logoutcolor" android:state_checked="true" />
    <item android:color="@color/AppTextColor" />

</selector>
   ColorStateList colorStateList = getResources().getColorStateList(R.color.newyeartab_menu_item_textcolor);
        rbtnArrival.setTextColor(colorStateList);
        rbtnLine.setTextColor(colorStateList);
        rbtnFavorite.setTextColor(colorStateList);
        rbtnIwillgo.setTextColor(colorStateList);

如此即可

以上是关于求助RadioButton的动态添加的主要内容,如果未能解决你的问题,请参考以下文章

请问在android的listView中怎么动态加入radioButton和Button按钮?

C#如何动态加载RadioButton控件

C# winform动态添加控件获取值问题

C# winform动态添加控件获取值问题

如何在android中动态设置RadioButton大小

Android 谁有动态添加多个RadioGroup 并获取所有RadioGroup被选中的值的方法?