1.布局
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TableRow> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="性别:"/> <RadioGroup android:id="@+id/rg" android:orientation="horizontal" android:layout_gravity="center_horizontal" > <RadioButton android:id="@+id/male" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" /> <RadioButton android:id="@+id/female" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" /> </RadioGroup> </TableRow> <TableRow > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="喜欢的颜色"/> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="红色" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="蓝色" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="绿色" /> </LinearLayout> </TableRow> <TextView android:id="@+id/show" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </TableLayout>
首先整体用的是TableLayout,表格布局
然后将单选框那部分放在TableRow里,里面有一个TextView和两个RadioButton(这两个用RadioGroup括起来,形成一个整体)
还有多选框部分,用TableRow括起来,里面有三个checkbox用LinearLayout括起来。形成线性布局,竖直方向的。
最后的是单独放了一个TextView显示结果等。
2.实现选择单选框显示一句话。
package com.example.checkbutton; import android.app.Activity; import android.os.Bundle; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TextView; public class MainActivity extends Activity { RadioGroup rg; TextView show; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rg=(RadioGroup) findViewById(R.id.rg); show=(TextView) findViewById(R.id.show); rg.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub String tip=checkedId==R.id.male? "您的性别是男人":"您的性别是女人"; show.setText(tip); } }); } }
将两个RadioBox的整体RadioGroup作为一个对象,对他进行事件监听。
用了条件运算符,String tip=checkedId==R.id.male? "您的性别是男人":"您的性别是女人";
最后setText就成。