安卓笔记-android五大布局

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列

时间: 2024-12-20 10:34:41

安卓笔记-android五大布局的相关文章

【安卓笔记】抽屉式布局----DrawerLayout

效果如下: DrawerLayout来自support.v4包,所以不用考虑兼容性问题.其次,这种布局类似风靡一时的侧滑菜单,但是比侧滑菜单轻巧许多. 下面介绍这种布局的使用方式. 1.在你的项目中导入support.v4包. 2.编辑一个布局,根节点为android.support.v4.widget.DrawerLayout,此节点下只允许有两个子节点,第一个为将来主页面的内容,第二个节点即为"抽屉"内容,通常是一个ListView.比如: <android.support.

浅谈Android五大布局

Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLayout(线性布局).FrameLayout(单帧布局).RelativeLayout(相对布局).AbsoluteLayout(绝对布局)和TableLayout(表格布局). LinearLayout: LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后

Android五大布局Layout

 Android开发中,我们可能会遇到过一些很复杂的布局,对于初学者来说,可能脑子会嗡的一下,"这么复杂!该怎么整?!". 不要担心!再复杂的布局其实也是由简单地布局组成的,我们要学会将它分解成基本的布局,那么问题就迎刃而解了. Android共有五种常见布局方式,分别是:LinearLayout(线性布局),FrameLayout(单帧布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局). 下面首先看一下这

浅谈Android五大布局(二)——RelativeLayout和TableLayout

在浅谈Android五大布局(一)中已经描述了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoulteLayout(绝对布局)三种布局结构,剩下的两种布局RelativeLayout(相对布局)和TableLayout(表格布局)相对之前布局结构稍显复杂一点,所以这里另起篇幅进行介绍. RelativeLayout: RelativeLayout按照各子元素之间的位置关系完成布局.在此布局中的子元素里与位置相关的属性将生效.例如android:layout_be

Android五大布局对象--FrameLayout,LinearLayout,AbsoluteLayout,RelativeLayout,TableLayout

出处: http://zwkufo.blog.163.com/blog/static/2588251201011161220635/ 讲一下Android对用五大布局对象,它们分别是FrameLayout(框架布局:不知道是不是这么翻译的),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局). FrameLayout: FrameLayout是最简单的一个布局对象.它被定制为你屏幕上的一个

浅谈Android五大布局(二)——RelativeLayout和TableLayout【转】

http://www.cnblogs.com/wisekingokok/archive/2011/08/24/2152004.html 在浅谈Android五大布局(一)中已经描述了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoulteLayout(绝对布局)三种布局结构,剩下的两种布局RelativeLayout(相对布局)和TableLayout(表格布局)相对之前布局结构稍显复杂一点,所以这里另起篇幅进行介绍. RelativeLayout: Relat

浅谈Android五大布局——LinearLayout、FrameLayout和AbsoulteLayout

Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLayout(线性布局).FrameLayout(单帧布局).RelativeLayout(相对布局).AbsoluteLayout(绝对布局)和TableLayout(表格布局). LinearLayout: LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后

Android五大布局介绍&amp;属性设置大全

前言 在进行Android开发中,常常需要用到各种布局来进行UI的绘制,今天我们就来讲下Android开发中最常用的五大布局介绍和相关属性的设置. 目录 Android五大布局介绍&属性设置.jpg 一.布局介绍 在Android中,共有五种布局方式,分别是: FrameLayout(框架布局) LinearLayout(线性布局) AbsoluteLayout(绝对布局) RelativeLayout(相对布局) TableLayout(表格布局) 1. FrameLayout框架布局 布局特

Android五大布局之一帧布局(FrameLayout)

一.FrameLayout(帧布局)重点: FrameLayout(帧布局)可以说是五大布局中最为简单的一个布局,这个布局会默认把控件放在屏幕上的左上角的区域,后续添加的控件会覆盖前一个,如果控件的大小一样大的话,那么同一时刻就只能看到最上面的那个控件 二.FrameLayout(帧布局)常用属性: android:foreground:设置改帧布局容器的前景图像 android:foregroundGravity:设置前景图像显示的位置 三.例子: 1.首先先创建一个FrameLayout的X