RadioGroup中使用类组单选按钮。如果我们选中一个单选按钮属于一个单选按钮组,它会自动取消选中同一组内的任何先前检查的单选按钮。
RadioGroup 属性
以下是RadioGroup中控件有关的重要属性。可以检查Android官方文档的属性和相关方法的完整列表,可以用它来改变这些属性在运行时。
属性
描述
android:checkedButton
这是子单选按钮应该在默认情况下此单选组内进行检查的ID
继承自android.view.View类:
属性
描述
android:background
可拉伸作为背景
android:contentDescription
定义文本简要描述了视图内容
android:id
对此视图提供一个标识符名称
android:onClick
在本视图的上下文视图被点击时调用的方法的名称
android:visibility
控制视图的初始可视性
示例
这个例子将带通过简单的步骤显示了如何创建自己的Android应用程序使用线性布局和RadioGroup。
步骤
描述
1
使用Android Studio创建Android应用程序,创建一个项目:RadioGroup
2
修改src/MainActivity.java文件,添加一个click事件
2
修改res/layout/activity_main.xml文件的默认内容包括AndroidUI控件
3
Define required constants in res/values/strings.xml file
4
运行该应用程序启动 Android模拟器并验证应用程序的结果
以下是主活动文件 src/com.yiibai.radiogroup/MainActivity.java 的内容。这个文件可以包括每个生命周期的基本方法。
packagecom.example.guidemo9;importandroid.os.Bundle;importandroid.app.Activity;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.RadioButton;importandroid.widget.RadioGroup;importandroid.widget.Toast;publicclassMainActivityextendsActivity{privateRadioGroupradioGroupCricket;privateRadioGroupradioGroupTutorials;privateRadioButtonradioBtn1;privateRadioButtonradioBtn2;privateButtonbtnCricketer;privateButtonbtnYiiBai;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// group1addListenerRadioGroup1();// group2addListenerRadioGroup2();}privatevoidaddListenerRadioGroup2(){radioGroupTutorials=(RadioGroup)findViewById(R.id.radioGroup2);btnYiiBai=(Button)findViewById(R.id.button2);btnYiiBai.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){// get selected radio button from radioGroupTutorialsintselected=radioGroupTutorials.getCheckedRadioButtonId();radioBtn2=(RadioButton)findViewById(selected);Toast.makeText(MainActivity.this,radioBtn2.getText(),Toast.LENGTH_SHORT).show();}});}privatevoidaddListenerRadioGroup1(){radioGroupCricket=(RadioGroup)findViewById(R.id.radioGroup1);btnCricketer=(Button)findViewById(R.id.button1);btnCricketer.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){// get selected radio button from radioGroupCricketintselected=radioGroupCricket.getCheckedRadioButtonId();radioBtn1=(RadioButton)findViewById(selected);Toast.makeText(MainActivity.this,radioBtn1.getText(),Toast.LENGTH_SHORT).show();}});}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){/* Inflate the menu; this adds items to the action bar if it
is present */getMenuInflater().inflate(R.menu.main,menu);returntrue;}}
下面是 res/layout/activity_main.xml 文件的内容:
下面文件 res/values/strings.xml 的内容中定义两个新的常量:
<?xml version="1.0"encoding="utf-8"?>RadioGroupDemo - yiibai.comSettingsExample showing RadioGroupSachinSauravRahulMySQL 教程SQL 教程SQLite 教程cricketeryiibai
以下是AndroidManifest.xml 文件的默认内容:
我们尝试运行GUIDemo9应用程序。Eclipse的AVD上安装的应用程序,并启动它,如果一切设置和应用都没有问题,它会显示以下模拟器窗口:
下面的屏幕会出现,我们这里有2个RadioGroups(即radioGroupTutorials 和 radioGroupCricket)。cricketer 按钮被点击后检查“Rahul”单选按钮:
下面的屏幕会出现,如果我们检查一个属于到 radioGroupTutorials 单选组单选按钮,它会自动取消选中任何先前检查的单选按钮内相同 radioGroupTutorials 组。 按钮被点击后检查“SQL Tutorial”单选按钮:
以上代码下载地址:http://pan.baidu.com/s/1qWJSdVA
练习:
建议尝试上面的例子中,不同属性的单选按钮在布局XML文件,以及在编程时有不同的外观的单选按钮。尽量使其可编辑,更改字体颜色,字体,宽度,字体大小等看到结果。也可以尝试多个单选按钮控件,在上面的例子在一个活动。