UI设计中使用XML(类XML)语言描述是一大趋势.AS中的界面UI部分是类XML,微软的WPF和Silverlight也采用类XML语言,当然在网页上的XHTML更是XML大应用了.或许由于Google是互联起家的缘故,所以在Android的界面布局中到处可以看到网页布局的影子.当你看到findViewById是否会想去js中经常用到的document.getElementById呢?当你用LinearLayout/RelativeLayout/TableLayou布局是否会想起网页中DIV+CSS和经典的Table布局呢? 下面简单介绍Android的几个重要布局
1,LinearLayout LinearLayout是一种流水线型的布局方式.它可以通过orientation属性设置线性排列的方向是垂直(vertical)还是纵向(horizontal). 两种布局示意图
2,RelativeLayout RelativeLayout(相对布局)是一种非常灵活的布局方式,几乎没有见过可能是Android独创的.这个布局的一个要点是里面的控件可以指定其上下左右对齐的控件.所以在要设置诸如:layout_alignBottom,layout_toRightOf等等属性. 一些常用到属性的描述: layout_toRightOf / layout_toLeftOf --紧凑右边/左边控件.属性值指定控件id layout_alignTop /layout_alignBottom / layout_alignRight/ layout_alignLeft --顶端/底部/右边/左边对齐的控件 layout_above --紧凑其上的控件.属性值指定控件id
layout_alignParentTop/ layout_alignParentBottom --是否贴近父容器的顶部/底部 layout_alignParentRight/layout_alignParentLeft --是否贴近父容器的右边/左边
RelativeLayout布局示意图下
3,AbsoluteLayout 绝对布局是UI布局中应用的最广的布局方式,就是指定控件的X/Y坐标使控件固定在一个点上.Windows开发的程序员几乎都是这种布局方式.不过这种布局在手机开发中有很大的弊病,因为不同的手机类型的屏幕尺寸可能是不尽相同的,这也是j2me在做不同手机开发时非常头痛的地方. Andorid的控件描述X/Y坐标的属性是:layout_x,layout_y. X/Y坐标的计量单位在Android有以下几种: px:像素 dip:依赖设备的像素.这个是android独创. sp:比例像素 pt:点 in:英尺 mm:毫米
AbsoluteLayout布局示意图
4,TableLayout Table布局在网页设计中是一种非常常见的布局方式.不过Android的TableLayout与网页中的table布局并不相同.以下是TableLayout布局中几个重要的属性和对象 collpaseColumns --隐藏TableLayout里TableRow的列X stretchColumns -- 设置列X为可伸展列 shrinkColumns -- 设置列X为可收缩列 TableRow -- 行对象
TableLayout示意图 |