UI(User interface)用户界面的意思,而android有一套完整的widget来支持android的界面开发。Android的界面组件都是继承自view类的,如TextView,Button,EditView等都是View的子类。一个View组件就是一个矩形的区域,负责这块区域的渲染和事件的处理,可以设置这块区域是否可见等。
要组织好这些组件的位置,必须要有一个容器来管理,而android中提供了一个ViewGroud的抽象类来处理这些,它是其它容器类的基类。其中的LinearLayout,RelativeLayout都是继承这个抽象类。
Android中有以下4中界面布局类型:
1.FrameLayout;
2.LinearLayout;
3.RelativeLayout;
4.TableLayout;
FrameLayout,框架布局方式,他就像预订了屏幕中的空白区域,然后向其中填充元素。FrameLayout填充的元素是从左上角开始,而且无法控制元素的位置,如果里面有多个元素,后面的元素就会被覆盖显示。
LinearLayout,线性布局方式,它就像网页布局中的流一样。当其orieation设置为vertical,控件的排列方式是自上而下填充,当为horizontal,控件的排列方式是自左向右。LinearLayout的布局方式在应用中应用较多。
RelativeLayout,相对布局方式,它的布局形式是利用各个组件的相对位置来进行布局的,设置控件的参考对象和其对应的方位距离,来确定控件的位置。这种布局方式灵活多样,在布局中应用比较频繁。
下面介绍一下RelativeLayout用到的一些重要的属性:
第一类:属性值为true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中
android:layout_alignParentBottom 贴紧父元素的下边缘
android:layout_alignParentLeft 贴紧父元素的左边缘
android:layout_alignParentRight 贴紧父元素的右边缘
android:layout_alignParentTop 贴紧父元素的上边缘
android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的
话就以父元素做参照物
第二类:属性值必须为id的引用名“@id/id-name”
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐
第三类:属性值为具体的像素值,如30dip,40px
android:layout_marginBottom 离某元素底边缘的距离
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离
TableLayout,网格布局方式,它就像网页布局中的表格布局一样,利用表格的列和组来控制元素的布局。其中利用的元素是<TableRow>代表的是一组,可以在其中包含控件,从而实现列。
Android的jar中有一个Widget包,其中包含了大部分在屏幕上显示的UI 组件,如文本框,按钮,列表框,进度条,图片显示等。
在下面就简单地认识一下其组件,在开发中可以查SDK文档来进行学习。
1.Button 按钮
2.ImageButton 可以自定义图片样式的按钮
3.ImageView 显示图片的一个组件
4.TextView 文本显示框
5.CheckBox 多项选择框
6.RadioGroup RadioButon 单项选择
7.Spinner 下拉列表
8.AutoCompleteTextView 自动完成文本,有点类似下拉列表
9.DatePicker 日期选择器
10.TimePicker 时间选择器
11.ScrollView 滚动视图
12.ProgressBar 进度条
13.SeekBar 拖动条
14.RatingBar 评分组件
15.ImageSwitcher Gallery 切换图片
16.GridView 网格视图
17.Tab 标签,实现多标签栏显示样式
18.Menu 菜单,其功能强大,要深入学习
19.ListView 列表
20.Dialog 对话框
21.Toast Notification 提示框和对话框功能类似
蓝色字体的组件在以后中会进行总结,因为其比较复杂,包含的知识内容比较多,在以后会有专题来进行总结。