Android的布局

原创
2014/06/30 14:35
阅读数 152

   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示意图
     

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部