您当前的位置:首页 > 互联网教程

Android基础之常用五种布局

发布时间:2025-05-11 20:47:53    发布人:远客网络

Android基础之常用五种布局

一、Android基础之常用五种布局

1、所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。

2、分为垂直布局( android:orientation="vertical")和水平布局( android:orientation="horizontal")。

3、垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;

4、水平布局时,只有一行,每一个元素依次向右排列。

5、用X,Y坐标来指定元素的位置,这种布局方式也比较简单

6、在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。

7、可以理解为某一个元素为参照物,来定位的布局方式。

8、相对于某一个元素 android:layout_below、 android:layout_toLeftOf

9、相对于父元素的地方 android:layout_alignParentLeft、 android:layout_alignParentRigh;

10、每一个 TableLayout里面有表格行 TableRow, TableRow里面可以具体定义每一个元素。每一个布局都有自己适合的方式,这五个布局元素可以相互嵌套应用,做出美观的界面。

二、android实现方格布局

表格布局即,tableLayout,表格布局通过行、列的形式来管理UI组件,TablelLayout并不需要明确地声明包含多少行、多少列,而是通过TableRow,以及其他组件来控制表格的行数和列数, TableRow也是容器,因此可以向TableRow里面添加其他组件,没添加一个组件该表

TableLayout里面添加组件,那么该组件就直接占用一行。

在表格布局中,列的宽度由该列中最宽的单元格决定,整个表格布局的宽度取决于父容

器的宽度(默认是占满父容器本身)。

TableLayout继承了LinearLayout,因此他完全可以支持LinearLayout所支持的全部XML属性,除此之外TableLayout还支持以下属性:

1. andriod:collapseColumns setColumnsCollapsed(int,boolean)设置需要隐藏的列的序列号,多个用逗号隔开

2.android:shrinkColumns setShrinkAllColumns(boolean)设置被收缩的列的序列号,多个用逗号隔开

3.android:stretchColimns setSretchAllColumnds(boolean)设置允许被拉伸的列的序列号,多个用逗号隔开

三、Android 常见布局

Android六大基本布局分别是:线性布局LinearLayout、表格布局TableLayout、相对布局RelativeLayout、层布局FrameLayout、绝对布局AbsoluteLayout、网格布局GridLayout。其中,表格布局是线性布局的子类。网格布局是android 4.0后新增的布局。

在手机程序设计中,绝对布局基本上不用,用得相对较多的是线性布局和相对布局。

padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了。

显示特点:所有子控件按照横向或者竖向依次排列

left(左)、right(右)、top(上)、bottom(下)、center(中心)、

enter_vertical(竖向中心)、center_horizontal(横向中心)

left(左)、right(右)、top(上)、bottom(下)、center(中心)、

enter_vertical(竖向中心)、center_horizontal(横向中心)

子控件的用法:android:layout_weight="1"多个控件同时使用,可以实现平分的效果

显示特点:和LinearLayout布局相似,所有子控件默认显示在RelativeLayout的左上角

layout_toRightOf在指定控件的右边

layout_toLeftOf在指定控件的左边

layout_below在指定控件的下边子控件对齐关系

layout_alignRight与指定控件右对齐

layout_alignLeft与指定控件左对齐

layout_alignTop与指定控件上对齐

layout_centerInParent与父容器中间对齐 pairunte

layout_centerVertical与父容器竖向中心对齐

layout_centerHorizontal与父容器横向中心对齐

layout_alignParentLeft与父容器左边对齐

layout_alignParentTop与父容器上边对齐

layout_alignParentRight与父容器右边对齐

layout_alignParentBottom与父容器下边对齐

显示特点:所有子控件默认在GridLayout中横向依次排列,当只等每行的列数时,到达指定列数

layout_gravity在一个网格中的重心位置

显示特点:所有的子控件默认显示在FrameLayout的左上角,会重叠在一起显示。

layout_gravity(设置给子控件,调整控件在容器内的重心)

center(中心)、 center_vertical(竖向中心)

center_horizontal(横向中心)

表格布局和网格布局类似,但是需要注意的是,表格布局不能跨行,只能跨列