码迷,mamicode.com
首页 > 移动开发 > 详细

安卓笔记-android五大布局

时间:2016-01-05 01:30:25      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

1.LinearLayout,线性布局

    在android项目开发中最经常用到的线性布局,相比相对布局适配度高,不容易因界面改变而变形,LinearLayout可通过设置布局属性orientation来设置子元素水平(horizontal)或垂直排列(vertical)

     LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例,如果一个LinearLayout中含有俩个TextView控件。第一个TextView设置了weight属性将会把第二个TextView挤到最边。如果俩个都设置了为1,那么他们各占父Linearlayout的一半,如果哪边数值更大将占更多的比份。

  android:gravity 与 android:layout_gravity的区别
  android:gravity是指定本元素的子元素相对它的对齐方式。
  android:layout_gravity是指定本元素相对它的父元素的对齐方式。

     这两个属性可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。而且这些属性是可以多选的,用“|”分开。默认这个的值是:Gravity.LEFT

2.RelativeLayout,相对布局

    RelativeLayout是Android五大布局结构中最灵活的一种布局结构,比较适合一些复杂界面的布局。

    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                            如果对应的兄弟元素找不到的话就以父元素做参照物

     RelativeLayout第二类:属性值必须为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                    本元素的右边缘和某元素的的右边缘对齐

     RelativeLayout第三类:属性值为具体的像素值,如30dip,40px
  android:layout_marginBottom              离某元素底边缘的距离
  android:layout_marginLeft                   离某元素左边缘的距离
  android:layout_marginRight                 离某元素右边缘的距离
  android:layout_marginTop                   离某元素上边缘的距离

3.AbsoluteLayout,绝对位置布局

     在此布局中的子元素的android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置。屏幕左上角为坐标原点(0,0),第一个0代表横坐标,向右移动      此值增大,第二个0代表纵坐标,向下移动,此值增大。在此布局中的子元素可以相互重叠。在实际开发中,通常不采用此布局格式,因为它的界面代码过于刚性,以至于有可      能不能很好的适配各种终端。

4.FrameLayout,帧布局

      FrameLayout是五大布局中最简单的一个布局,可以说是一个层布局,分层的,后面的将会盖住前面放的。通常嵌套别的布局使用,做遮盖效果。如果3个ImageView大小相同,那么第一个ImageView被第二个ImageView完全遮挡,第三个ImageView遮挡了第二个ImageView的部分位置。如果是逐渐变小,那么他们将以金字塔那样的形式显示。

5.TableLayout,表格布局

     Tablelayout类以行和列的形式对控件进行管理,一个TableRow就代表TableLayout中的一行。每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。 当为View时,该View将独占一行。

     TableLayout的行数由开发人员直接指定,即有多少个TableRow对象(或View控件),就有多少行。TableLayout的列数等于含有最多子控件的TableRow的列数。如第一TableRow含2个子控件,第二个TableRow含3个,第三个TableRow含4个,那么该TableLayout的列数为4. 

  1、全局属性也即列属性,有以下3个参数:

  android:stretchColumns    设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。

  android:shrinkColumns     设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。

  android:collapseColumns 设置要隐藏的列。

  示例:

  android:stretchColumns="0"           第0列可伸展

  android:shrinkColumns="1,2"         第1,2列皆可收缩

  android:collapseColumns="*"         隐藏所有行

 

  2、单元格属性,有以下2个参数:

  android:layout_column    指定该单元格在第几列显示 

  android:layout_span        指定该单元格占据的列数(未指定时,为1)

 

  示例:

  android:layout_column="1"    该控件显示在第1列

  android:layout_span="2"        该控件占据2列

 

安卓笔记-android五大布局

标签:

原文地址:http://www.cnblogs.com/mr-xu-summer/p/5100766.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!