Andriod UI
一、Andriod布局
FrameLayout框架布局
LinerLayout线性布局
RelativeLayout相对布局
TableLayout表格布局
AbsouluteLayout绝对布局
这些布局文件用XML描述,所有的视图ID都会在R中生成对应的变量
度量
Px:像素
Dp:屏幕的物理尺寸,大小为1英寸的1/72
Sp:与dp类似,可根据用户字体调节
在设置字体时:
1.如果设置长度、高度等属性时可以使用dp或sp。如果设置字体用sp。
2.dp是与密度无关,sp除了与密度无关,还与scale无关。
3.使用dp和sp,系统会根据屏幕密度的变化自动进行转换。
Andriod布局常用属性
layout_margin:调整控件边缘相对于父控件的边距。
layout_padding:控件的子控件相对自己的边缘的边距。
wrap_content:根据内容控件自动拉伸
fill_parent:强制占满整个屏幕
match_parent: Android2.2中match_parent和fill_parent是一个意思,低版本使用情况就需要用fill_parent。
线性布局:LinearLayout
线性布局可分为水平和垂直两种,通过andriod:orientation=”vertical”(或者horizontal)来定义方向。
其中有一个很重要的属性gravity,用于控制布局中视图的位置。
另外一个属性weight(权重),控制视图的大小,默认为0,有多大显示多大,其它值时按照总的权重分配屏幕空间。
框架布局:FrameLayout
框架布局类似于堆栈布局,添加的视图以层叠方式显示,第一个在底层,最后一个在顶层,上一层会覆盖下一层的视图。
常用属性top、buttom、letf、right、Center_vertical、horizontal_vertical等对视图进行操作。
相对布局:RelativeLayout
相对布局主要设置一个视图相对于其他视图的位置,例如上下左右等,如Android:Layout_toRightof=”@id/xxx”
任何一个视图或控件,可以具备多个属性标签。
表格布局:TableLayout
实际上表格布局是一种以表格进行限制的布局方式,UI将被分成单元格,单元格中可以放置控件,表格的属性,Shrinkable:被该属性标示的列宽度可以收缩,能够自动适应父容器的大小。
Stretchable:被该属性标示的列宽度可以拉伸,自动填满表格中的空闲空间。
Collapsed: 被该属性标示的列会被隐藏。
如果同时具备Shrinkable与Stretchable,该列将任意拉伸收缩以适应父容器。
绝对布局:AbsoluteLayout
所谓绝对布局,屏幕中所有的控件位置由坐标指定,控件容器不再负责子控件的位置,也由坐标控制,因此绝对布局中没有特殊的属性和方法。
二、常用UI组件(需要声明对象)
文本框:TextView
主要用于实现文字说明等功能、可实现图文混排、超链接等功能。
编辑框:EditText
除了TextView之外的属性,还可以输入文本内容,输入图片等、自动补完等。
按钮:Button
类似二者,最常用的是实现单击事件,可实现图文混排。
单选按钮:RadioButton
多个按钮只能按一个,一般是将RadioButton放在RadioGroup中。
复选框:Checkbox
默认情况下是未选中,通过android:checked来更改。
图像视图:ImageView
这主要是用来显示图片的控件,可以对图片进行放大缩小旋转的功能。
列表选项:Spinner
用于显示一个下拉列表,该控件在装载数据的时候需要创建一个Adapter适配器对象,并在创建Adapter对象过程中指定要装载的数据时数组还是List对象的数据
三、高级控件(需要声明对象)
进度条:ProgressBar
用于向用户显示任务进程,在使用时需要启用扩展属性。
对话框:PopupWIndow
创建类似对话框风格的窗口,使用PopupWIndow创建对话框的步骤
1. 创建PopupWIndow对象
电泳对象的showAsDropDown(View view)方法将PopupWIndow作为View的组件的下拉组件显示出来,或者调用PopupWIndow的showAtlocation方法将PopupWIndow在指定的位置显示出