android中的UI控制(三)
android中的UI控制(三)
?
转载自 : http://www.android777.com/index.php/tutorial/android-view/androids-ui-control-c.html
?
上一篇我们讲了Android GUI中的MVC架构和一些视图的文字控制能力,接着我们看一些按钮控制的例子。按钮在界面中算是最常见的控件,一般我们都用按钮来触发动作。按钮可以分为一般按钮(Button)、带有图片的按钮(ImageButton)、有开启关闭状态的按钮(ToggleButton)。
?
Button:
按钮在Android中是android.wiget.Button类,我们常用它来处理一些点击事件。它继承了TextView,所有TextView可配置的属性都可以在Button上配置,所以我们可以定义很多Button的样式,同时Button还扩展了部分功能让用户可以在文字的上下左右四个方向添加icon图片。
?
布局文件fourth.xml
?
对应的效果图如下(图1):
?
?图1?
我们可以给按钮注册一个点击事件,通过setOnClickListener方法:
??
?对应的效果图如下(图2):
图2
?
ToggleButton:
ToggleButton和Checkbox、radio按钮一样是一个有状态的按钮,它有一个开启或关闭状态,在开启状态时,按钮的下面有一条绿色的粗线,当它是在关闭状态时则粗线变成灰色的。你可以通过配置android:textOn和android:textOff来配置对应两种不同状态时要显示的文字:
?
图3
?
CheckBox:
?
这边的CheckBox跟HTML、Java GUI里的Checkbox概念是一样的,它是一个复选框,它也存在两种状态:选中和未选中。用户可以通过调用CheckBox对象的setChecked()或toggle()方法来改变复选框的状态,通过调用isChecked方法获取选中的值。
可以通过调用CheckBox的setOnCheckedChangeListener()方法来监听Checkbox的状态改变事件。
图4
RadioButton:
Radio跟html里的radio一样,只允许用户在多个选项里选择其中一个,称为:单选框。为了让多个radio中仅能选择一个,我们需要将这多个radio放到一个分组中,这样默认每个分组只允许用户选中分组中的一项radio button。所以为了要使用RadioButton首先我们要先创建一个RadioGroup分组,然后将RadioButton放到分组中。
图5
所有在RadioGroup中的RadioButton默认都是未选中状态,但是你也可以通过xml布局,设置某个RadioButton处于选中状态。跟CheckBox一样,你可以调用setChecked()和toggle()方法来改变它里面的状态值。也可以监听它的状态改变事件。
?
?
在RadioGroup中你也可以存放其他不是RadioButton的控件,当然通常你不会那么做,因为那只会在界面上混淆用户,不过也不会改变RadioGroup和RadioButton的行为。当用户选中一个RadioButton时,他再次点击RadioButton也不会改变RadioButton状态,那如果整个RadioGroup要处于未选状态时要怎么处理呢?这边可以调用RadioGroup中的clearCheck()方法,它会将内部所有RadioButton状态改为未选中状态。
?
?
?
?

