Android里面的单选框和html中的其实是一样的效果。这里用到两个控件:CheckBox和RadioGroup。直接上代码:

radio.xml布局文件:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><TextViewandroid:id="@+id/textView1"      android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/hello"    /><RadioGroupandroid:id="@+id/genderGroup"    android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:orientation="vertical"    >    <RadioButton    android:id="@+id/femaleButton"     android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="@string/female"      />    <RadioButton    android:id="@+id/maleButton"     android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="@string/male"      /></RadioGroup><CheckBoxandroid:id="@+id/swim" android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:text="@string/swim"  /><CheckBoxandroid:id="@+id/run" android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:text="@string/run"  /><CheckBoxandroid:id="@+id/read" android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:text="@string/read"  /></LinearLayout>


String.xml代码:

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="hello">Hello World, Activity07!</string>    <string name="app_name">activity07</string>    <string name="male">男</string>    <string name="female">女</string>    <string name="swim">swim</string>    <string name="run">run</string>    <string name="read">read</string></resources>
RadioTest:

package mars.activity07;import android.app.Activity;import android.os.Bundle;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;public class RadioTest extends Activity {    /** Called when the activity is first created. *///对控件对象进行声明private RadioGroup genderGroup = null;private RadioButton femaleButton = null;private RadioButton maleButton = null;private CheckBox swimBox = null;private CheckBox runBox = null;private CheckBox readBox = null;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.radio);        //通过控件的ID来得到代表控件的对象        genderGroup = (RadioGroup)findViewById(R.id.genderGroup);        femaleButton = (RadioButton)findViewById(R.id.femaleButton);        maleButton = (RadioButton)findViewById(R.id.maleButton);        swimBox = (CheckBox)findViewById(R.id.swim);        runBox = (CheckBox)findViewById(R.id.run);        readBox = (CheckBox)findViewById(R.id.read);        //为RadioGroup设置监听器,需要注意的是,这里的监听器和Button控件的监听器有所不同        genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {// TODO Auto-generated method stubif(femaleButton.getId() == checkedId){System.out.println("famale");Toast.makeText(RadioTest.this, "famle", Toast.LENGTH_SHORT).show();}else if(maleButton.getId() == checkedId){System.out.println("male");Toast.makeText(RadioTest.this, "male", Toast.LENGTH_SHORT).show();}}});                //为多选按钮添加监听器        swimBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {// TODO Auto-generated method stubif(isChecked)//未选中到选中状态是执行这里:{System.out.println("swim is checked");}else//由选中状态到未选中状态时候执行这里:{System.out.println("swim is unchecked");}}});        runBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {// TODO Auto-generated method stubif(isChecked){System.out.println("run is checked");}else{System.out.println("run is unchecked");}}});        readBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {// TODO Auto-generated method stubif(isChecked){System.out.println("read is checked");}else{System.out.println("read is unchecked");}}});    }    }


注册文件进行注册:

<application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".RadioTest"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>

执行效果图:



更多相关文章

  1. Android(安卓)Wear 控件——WearableListView(附Demo)
  2. Android(安卓)编程下 Touch 事件的分发和消费机制
  3. Android(安卓)中文 API (30) ―― CompoundButton.OnCheckedChange
  4. Android-基本控件(SeekBar 可拖动 滚动条的使用)
  5. Android——为某个控件或者LinearLayout等添加水波纹效果
  6. eclipse 开发 android 快捷键!
  7. Android通过selector改变界面状态
  8. Android底部导航 BottomNavigationBar(Google官方)
  9. android edittext的属性

随机推荐

  1. Android安卓开发 HttpURLConnection使用
  2. android获取文件大小常用类
  3. Android:StartActivies(Intent[] intents
  4. ObjectAnimators 动画的暂停与重新开始
  5. Android(安卓)7.0 CTS问题CtsShortcutHos
  6. Minimum SDK、Target SDK、Compile SDK区
  7. popuwindow
  8. 关于android编译失败的集中情况
  9. webView 夜间模式
  10. ch05 Android布局