Android 常见布局

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 常见布局相关的知识,希望对你有一定的参考价值。

参考技术A 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_above 在指定控件的上边
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_column 在网格的第几列
layout_row 在网格的第几行
layout_columnSpan 跨列
layout_rowSpan 跨行
layout_gravity 在一个网格中的重心位置
columnCount 每行列总数

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

layout_gravity(设置给子控件,调整控件在容器内的重心)
常用值:
left(左)、 right(右)、
top(上)、 bottom(下)、
center(中心)、 center_vertical(竖向中心)
center_horizontal(横向中心)

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

android开发中常见布局的注意点

常见布局的注意点


线性布局:

  • 必须有一个布局方向 水平或者垂直
  • 在垂直布局中 只有左对齐 右对齐 水平居中生效
  • 在水平布局中 只有顶部对齐 底部对齐 垂直居中生效
  • 权重:组件按比例分配屏幕的剩余部分(即现先分配组件的长度 再按权重分配屏幕剩余的部分)所以使用权重的时候推荐设置组件的长度或宽度为0dp

相对布局:

  • 组件默认的位置都是左上角,组件之间可以重叠
  • 可以相对于父元素上下左右对齐,相对于父元素 水平居中 垂直居中,水平垂直同时居中
  • 可以相对于其他组件上下左右对齐
  • 可以布局与其他组件的上下左右

帧布局:

  • 组件默认位置都是左上角,组件之间可以重叠
  • 可以设置相对于符元素上下左右 设置水平居中,设置方法和线性布局相同

表格布局:

  • 每一个TableRow子节点代表一行,该节点的每一个子节点代表一列
  • 每一个TavleRow子节点的width默认是包裹内容的,不可更改,所以不需要设置
  • 每一个TableRow的子节点的宽度和高度都是包裹内容的,不可更改,所以不需要设置也行

绝对布局:

  • 由于android手机的分辨率的问题 绝对布局在适配手机的时候是不可想象的,因此相对布局几乎不用

 

以上是关于Android 常见布局的主要内容,如果未能解决你的问题,请参考以下文章

android开发中常见布局的注意点

Android - 常见的控件布局,左中右,左右等

Android 开发 -- 开发第一个安卓程序Android UI开发(布局的创建:相对布局和线性布局控件单位:px pt dp sp常用控件 常见对话框ListView)

Android常见问题总结

Android中常见的热门标签的流式布局的实现

android 控件移动方法