一简介:
RadioGroup作为一个单选按钮组,可以设置为性别选择男或则女,地址选择等等,作为一个android入门级选手,就简单的说一下RadioGroup组中RadioButton的布局和初始化操作,以及禁用整个RadioGroup。
二具体介绍:
布局:
<RadioGroup
android:id="@+id/rg_Orientation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"> <RadioButton
android:id="@+id/rb_Portrait"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:drawableRight="@drawable/r_portrait" /> <RadioButton
android:id="@+id/rb_Landscape"
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/r_landscape"/>
</RadioGroup>
初始化:
radioGroup_orientation = (RadioGroup) findViewById(R.id.rg_Orientation);
给初始化完成的RadioGroup设置监听
radioGroup_orientation.setOnCheckedChangeListener(radioGrouplisten);
监听的具体逻辑
//RadioGroup控件的初始化
private RadioGroup.OnCheckedChangeListener radioGrouplisten = new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) { int id = group.getCheckedRadioButtonId();
switch (group.getCheckedRadioButtonId()) {
case R.id.rb_Landscape:
orientation = Orientation.landscape;
Log.i("orientation",orientation.toString());
//Toast.makeText(PrintSettingActivity.this, orientation.toString(), Toast.LENGTH_SHORT).show();
break;
case R.id.rb_Portrait:
orientation = Orientation.Portrait;
Log.i("orientation",orientation.toString());
//Toast.makeText(PrintSettingActivity.this, orientation.toString(), Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
};
RadioGroup的所有单选按钮均不可点击,需要遍历RadioGroup中的每一个单选按钮,可以根据限定条件来对按钮进行控制
public void disableRadioGroup(RadioGroup radioGroup,String fileName){
if(recPath.endsWith("pdf")){
for (int i = 0; i < radioGroup.getChildCount(); i++) {
radioGroup.getChildAt(i).setEnabled(false);
}
}
}
三总结: