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对象