今日见解——Android布局

Android布局共有五大布局
LinearLayout、RelativeLayout、FrameLayout、TableLayout、AbsoluteLayout

1.LinearLayout布局

线性布局,两种排法:
从左到右
android:orientation=”horizontal”
从上到下
android:orientation=”vertical”

这里写图片描述

这里写图片描述
这里写图片描述

2.RelativeLayout布局

参考其他控件进行布局,默认为父控件。
有三种类型的属性:
(以下属性我觉得写出来太麻烦 便直接从网上粘贴了)
属性值是true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中。
android:layout_alignParentBottom 位于父元素的下边缘
android:layout_alignParentTop 位于父元素的上边缘
android:layout_alignParentLeft 位于父元素的左边缘
android:layout_alignParentRight 位于父元素的右边缘
属性值是”@id/*“
android:layout_below 在某元素的下方
android:layout_above 在某元素的上方
andorid:layout_toRightOf 在某元素的右方
android:layout_toLeftOf 在某元素的左方
android:layout_alignBottom 和某元素下方对齐
android:layout_alignTop 和某元素上方对齐
android:layout_alignRight 和某元素右方对齐
android:layout_alignLeft 和某元素左方对齐
属性值是数值
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离
android:layout_marginBottom 离某元素下边缘的距离
这里写图片描述

代码如下:
这里写图片描述
这里写图片描述

3.FrameLayout,帧布局
  FrameLayout是五大布局中最简单的一个布局,可以说成是层布局方式。在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。
这里写图片描述

代码如下:
这里写图片描述
这里写图片描述

4.TableLayout,表格布局

  适用于N行N列的布局格式。一个TableLayout由许多TableRow组成,一个TableRow就代表TableLayout中的一行。
  TableRow是LinearLayout的子类,ablelLayout并不需要明确地声明包含多少行、多少列,而是通过TableRow,以及其他组件来控制表格的行数和列数, TableRow也是容器,因此可以向TableRow里面添加其他组件,没添加一个组件该表格就增加一列。如果想TableLayout里面添加组件,那么该组件就直接占用一行。在表格布局中,列的宽度由该列中最宽的单元格决定,整个表格布局的宽度取决于父容器的宽度(默认是占满父容器本身)。

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

代码如下:
这里写图片描述
这里写图片描述
这里写图片描述

如图,可以看到在总体布局那里有一条杠 证明不推荐你用此布局。
总和看如下图:
这里写图片描述

目前我认为比较常用的布局就是相对布局和线性布局。

今日关于Android布局的见解就到此结束了。
如有不足欢迎补充。

猜你喜欢

转载自blog.csdn.net/tyl1999/article/details/80565292