RadioGroup和RadioButton案例Word文档下载推荐.docx
- 文档编号:18797114
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:27
- 大小:172.69KB
RadioGroup和RadioButton案例Word文档下载推荐.docx
《RadioGroup和RadioButton案例Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《RadioGroup和RadioButton案例Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
index将要添加子视图的位置
params所要添加的子视图的布局参数
14
15
RadioButton.getText();
//获取单选框的值
16
17
//此外,RadioButton的checked属性设置为true,代码里调用RadioButton的check(id)方法,不会触发onCheckedChanged事件
RadioButton和RadioGroup的关系:
1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器
2、每个RadioGroup中的RadioButton同时只能有一个被选中
3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中
4、大部分场合下,一个RadioGroup中至少有2个RadioButton
5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置
看案例:
1.定义布局文件:
<
?
xml
version="
1.0"
encoding="
utf-8"
>
ScrollView
xmlns:
android="
android:
layout_width="
match_parent"
layout_height="
LinearLayout
orientation="
vertical"
wrap_content"
layout_marginRight="
5dp"
TextView
id="
@+id/radiogroup_info_id"
228px"
text="
我选择的是...?
"
textSize="
30sp"
/>
18
19
RadioGroup
20
@+id/radioGroup_sex_id"
21
22
23
24
RadioButton
25
@+id/boy_id"
26
27
28
Boy"
29
30
31
@+id/girl_id"
32
33
34
Girl"
35
36
37
/RadioGroup>
38
Button
39
@+id/radio_clear"
40
41
42
清除选中按钮"
43
44
45
46
@+id/radio_add_child"
47
48
49
添加单选项"
50
51
52
/LinearLayout>
53
/ScrollView>
2.java代码文件
package
com.dream.app.start.first.radiobutton;
import
com.dream.app.start.R;
com.dream.app.start.R.id;
com.dream.app.start.R.layout;
com.dream.app.start.three.utils.PublicClass;
android.app.Activity;
android.os.Bundle;
android.view.View;
android.view.View.OnClickListener;
android.view.ViewGroup.LayoutParams;
android.widget.Button;
android.widget.RadioButton;
android.widget.RadioGroup;
android.widget.RadioGroup.OnCheckedChangeListener;
android.widget.TextView;
android.widget.ToggleButton;
public
class
RadioButtonDemo
extends
PublicClass{
private
TextView
textView=null;
RadioGroup
radioGroup=null;
RadioButton
radioButton_boy,radioButton_girl;
Button
radio_clear,child;
/*(non-Javadoc)
*<
ahref="
target="
_blank"
rel="
nofollow"
@see<
/a>
android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected
void
onCreate(BundlesavedInstanceState){
//TODOAuto-generatedmethodstub
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_frist_radiobuton);
textView=(TextView)findViewById(R.id.radiogroup_info_id);
//radioGroup
radioGroup=(RadioGroup)findViewById(R.id.radioGroup_sex_id);
radioButton_boy=(RadioButton)findViewById(R.id.boy_id);
radioButton_girl=(RadioButton)findViewById(R.id.girl_id);
child=(Button)findViewById(R.id.radio_add_child);
//---
radioGroup.setOnCheckedChangeListener(listen);
radio_clear=(Button)findViewById(R.id.radio_clear);
radio_clear.setOnClickListener(onClick);
child.setOnClickListener(onClick);
}
OnCheckedChangeListener
listen=new
OnCheckedChangeListener(){
onCheckedChanged(RadioGroupgroup,
checkedId){
id=group.getCheckedRadioButtonId();
54
switch
(group.getCheckedRadioButtonId()){
55
case
R.id.girl_id:
56
textView.setText("
我选择的是:
+radioButton_girl.getText());
57
break;
58
R.id.boy_id:
59
+radioButton_boy.getText());
60
61
default:
62
新增"
);
63
64
65
66
67
};
68
OnClickListener
onClick=new
OnClickListener(){
69
70
71
onClick(Viewv){
72
radio_clear=(Button)v;
73
(radio_clear.getId()){
74
R.id.radio_clear:
75
radioGroup.check(-1);
//清除选项
76
//
radioGroup.clearCheck();
//清除选项
77
78
79
R.id.radio_add_child:
80
//新增子
81
newRadio=new
RadioButton(getApplicationContext());
82
newRadio.setText("
83
radioGroup.addView(newRadio,radioGroup.getChildCount());
84
85
//
86
87
88
89
90
91
92
93
运行效果:
3.
4:
可以通过设置如下属性可以使单选按钮在显示文本的右边
android:
button="
@null"
drawableRight="
@android:
drawable/btn_radio"
效果:
RadioButton和CheckBox的区别:
1、单个RadioButton在选中后,通过点击无法变为未选中
单个CheckBox在选中后,通过点击可以变为未选中
2、一组RadioButton,只能同时选中一个
一组CheckBox,能同时选中多个
3、RadioButton在大部分UI框架中默认都以圆形表示
CheckBox在大部分UI框架中默认都以矩形表示
==================================================
☆定制RadioButton样式
RadioButton长成什么样子是由其Background、Button等属性决定的,Android系统
使用style定义了默认的属性,在android源码
android/frameworks/base/core/res/res/values/styles.xml中可以看到默认的定义:
1
style
name="
Widget.CompoundButton.RadioButton"
2
item
background"
drawable/btn_radio_label_background<
/item>
3
button"
drawable/btn_radio<
4
/style>
即其背景图是btn_radio_label_background,其button的样子是btn_radio
btn_radio_label_background是什么?
其路径是android/frameworks/base/core/res/res/drawable-mdpi/btn_radio_label_background.9.png
可以看到是一个NinePatch图片,用来做背景,可以拉伸填充。
btn_radio是什么?
其路径是android/frameworks/base/core/res/res/drawable/btn_radio.xml
是个xml定义的drawable,打开看其内容:
selector
state_checked="
true"
state_window_focused="
false"
drawable="
@drawable/btn_radio_on"
@drawable/btn_radio_off"
state_pressed="
@drawable/btn_radio_on_pressed"
@drawable/btn_radio_off_pressed"
state_focused="
@drawable/btn_radio_on_selected"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RadioGroup RadioButton 案例