使用RadioGroup怎么實現單選框的多行排列?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1.xml中的布局:
<RelativeLayout android:id="@+id/main_tab_container" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingTop="30dp"> <RadioGroup android:id="@+id/radio1" android:layout_width="match_parent" android:layout_height="60dp" android:layout_margin="5dp" android:orientation="horizontal"> <RadioButton android:id="@+id/rb_1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="@dimen/RB_text_size" android:text="GBP英鎊" /> <RadioButton android:id="@+id/rb_2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="@dimen/RB_text_size" android:text="HKD港元" /> <RadioButton android:id="@+id/rb_3" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="@dimen/RB_text_size" android:text="USD美元?" /> </RadioGroup> <RadioGroup android:id="@+id/radio2" android:layout_width="match_parent" android:layout_height="60dp" android:layout_below="@+id/radio1" android:layout_margin="5dp" android:orientation="horizontal"> <RadioButton android:id="@+id/rb_4" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="@dimen/RB_text_size" android:text="CHF瑞士法郎" /> <RadioButton android:id="@+id/rb_5" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="@dimen/RB_text_size" android:text="SGD新加坡元" /> <RadioButton android:id="@+id/rb_6" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="@dimen/RB_text_size" android:text="SEK瑞典克朗" /> </RadioGroup> <RadioGroup android:id="@+id/radio3" android:layout_width="match_parent" android:layout_height="60dp" android:layout_below="@+id/radio2" android:layout_margin="5dp" android:orientation="horizontal"> <RadioButton android:id="@+id/rb_7" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="@dimen/RB_text_size" android:text="JPY日元" /> <RadioButton android:id="@+id/rb_8" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="@dimen/RB_text_size" android:text="CAD加拿大元?" /> <RadioButton android:id="@+id/rb_9" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="@dimen/RB_text_size" android:text="AUD澳大利亞元" /> </RadioGroup> <RadioGroup android:id="@+id/radio4" android:layout_width="match_parent" android:layout_height="60dp" android:layout_below="@+id/radio3" android:layout_margin="5dp" android:orientation="horizontal"> <RadioButton android:id="@+id/rb_10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="@dimen/RB_text_size" android:text="EOR歐元?" /> </RadioGroup> </RelativeLayout>
這樣就實現了多行布局,這只是我布局中的一部分,其中 android:textSize=”@dimen/RB_text_size” 為自己定義的字體大?。?/p>
2.activity中的使用以及處理:
public class SelectMoneyActivity extends BaseActivity {
String strBtnSelected = ""; //記錄選擇的是哪個選項
private RadioGroup rg1, rg2, rg3, rg4;
private RadioButton rb_1, rb_2, rb_3, rb_4, rb_5, rb_6, rb_7, rb_8, rb_9, rb_10;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_select_money);
initView();
}
private void initView() {
rg1 = (RadioGroup) findViewById(R.id.radio1);
rg2 = (RadioGroup) findViewById(R.id.radio2);
rg3 = (RadioGroup) findViewById(R.id.radio3);
rg4 = (RadioGroup) findViewById(R.id.radio4);
rb_1 = (RadioButton) findViewById(R.id.rb_1);
rb_2 = (RadioButton) findViewById(R.id.rb_2);
rb_3 = (RadioButton) findViewById(R.id.rb_3);
rb_4 = (RadioButton) findViewById(R.id.rb_4);
rb_5 = (RadioButton) findViewById(R.id.rb_5);
rb_6 = (RadioButton) findViewById(R.id.rb_6);
rb_7 = (RadioButton) findViewById(R.id.rb_7);
rb_8 = (RadioButton) findViewById(R.id.rb_8);
rb_9 = (RadioButton) findViewById(R.id.rb_9);
rb_10 = (RadioButton) findViewById(R.id.rb_10);
btn_back = (Button) findViewById(R.id.btn_back);
btn_next = (Button) findViewById(R.id.btn_next);
//創建監聽器,為每個RadioButton注冊監聽
BtnSelected btnSelected1 = new BtnSelected("1");
BtnSelected btnSelected2 = new BtnSelected("2");
BtnSelected btnSelected3 = new BtnSelected("3");
BtnSelected btnSelected4 = new BtnSelected("4");
BtnSelected btnSelected5 = new BtnSelected("5");
BtnSelected btnSelected6 = new BtnSelected("6");
BtnSelected btnSelected7 = new BtnSelected("7");
BtnSelected btnSelected8 = new BtnSelected("8");
BtnSelected btnSelected9 = new BtnSelected("9");
BtnSelected btnSelected10 = new BtnSelected("10");
rb_1.setOnClickListener(btnSelected1);
rb_2.setOnClickListener(btnSelected2);
rb_3.setOnClickListener(btnSelected3);
rb_4.setOnClickListener(btnSelected4);
rb_5.setOnClickListener(btnSelected5);
rb_6.setOnClickListener(btnSelected6);
rb_7.setOnClickListener(btnSelected7);
rb_8.setOnClickListener(btnSelected8);
rb_9.setOnClickListener(btnSelected9);
rb_10.setOnClickListener(btnSelected10);
//點擊事件的監聽器
public class BtnSelected implements View.OnClickListener {
private String btnId;
public BtnSelected(String str) {
btnId = str;
}
@Override
public void onClick(View v) {
strBtnSelected = btnId; //選擇的某一項
isSelect = true;
//點擊了第一行 ,就把另外行的點擊項清空
if (btnId.equals("1") || btnId.equals("2") || btnId.equals("3")) {
rg2.clearCheck();
rg3.clearCheck();
rg4.clearCheck();
} else if (btnId.equals("4") || btnId.equals("5") || btnId.equals("6")) {
rg1.clearCheck();
rg3.clearCheck();
rg4.clearCheck();
} else if (btnId.equals("7") || btnId.equals("8") || btnId.equals("9")) {
rg1.clearCheck();
rg2.clearCheck();
rg4.clearCheck();
} else {
rg1.clearCheck();
rg2.clearCheck();
rg3.clearCheck();
}
}
}
}看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。