Android中RadioGroup的使用

在安卓中为了给在几个选项中选择其中某个选项,需要用到Radiogroup

2、为了增加灵活行,想要在Java代码中动态加载Radio 这就涉及到一个问题,Radio的样式应该怎样修改

RadioGroup的代码

<RadioGroup
    android:id="@+id/rbgAttrSelect"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

RadioButton的添加

mRadioGroup = mView.findViewById(R.id.rbgAttrSelect);
for (EnumAdvancedType type : mTabList) {
    RadioButton radioButton = new RadioButton(getActivity());
    radioButton.setChecked(true);
    radioButton.setText(getString(type.getNameResId()));
    radioButton.setId(type.getVal());
    mRadioGroup.addView(radioButton);
}
mRadioGroup.setOnCheckedChangeListener((group, checkedId) -> {
    if (checkedId != mOldId) {
        mOldId = checkedId;
        changeFragment(checkedId);
    }
});

 其中fragment存在hashmap中与tabid对应

修改RadioButton的样式

通过Java代码可以修改文字大小 控件高度等,但是好像WrapContent这个字段不好用

radioButton.setTextSize(TypedValue.COMPLEX_UNIT_DIP,18);
radioButton.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);

只要使用setHeight(Viewgroup.LayoutParams.WRAP_CONTENT)就会出现所有的Radio都消失的问题

未完

 

posted on 2023-10-23 20:33  摆渡人19966  阅读(404)  评论(0编辑  收藏  举报

导航