一简介:
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 = newRadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, intcheckedId) { int id =group.getCheckedRadioButtonId(); switch(group.getCheckedRadioButtonId()) { caseR.id.rb_Landscape: orientation =Orientation.landscape; Log.i("orientation",orientation.toString()); //Toast.makeText(PrintSettingActivity.this, orientation.toString(), Toast.LENGTH_SHORT).show(); break; caseR.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 voiddisableRadioGroup(RadioGroup radioGroup,String fileName){ if(recPath.endsWith("pdf")){ for (int i = 0; i < radioGroup.getChildCount(); i++) { radioGroup.getChildAt(i).setEnabled(false); } } }