Android 常用布局

目录

一、什么是布局?

二、有哪些常用布局

ConstraintLayout(自适应界面)

属性

RelativeLayout(相对布局)

属性

提示

LinearLayout(线性布局)

属性

提示

TableLayout(表格布局)

属性

FrameLayout(帧布局)

属性

GridLayout(网格布局)

属性

AbsoluteLayout(绝对布局)

属性


一、什么是布局?

布局定义了应用中的界面结构。布局中的所有元素均使用View和ViewGroup对象的层次结构进行构建。View通常用于绘制用户可看到并与之交互的内容。ViewGroup则是不可见的容器,用于定义 View 和其他ViewGroup 对象的布局结构。

 注意:布局不建议一个xml代码有太多的代码,加载布局是需要时间,太多代码会使布局需要更多的时间,造成界面UI加载缓慢。

二、有哪些常用布局

ConstraintLayout(自适应界面)

这个布局是Android studio 默认布局,一般用于拖拽快速构建布局。

属性

  • layout_constraintLeft_toLeftOf : 当前View的右侧和另一个View的右侧位置对齐,与RelativeLayout的alignLeft属性相似
  • ***layout_constraintLeft_toRightOf ***: 当前view的左侧会在另一个View的右侧位置 与RelativeLayout的toRightOf属性相似
  • layout_constraintRight_toLeftOf : 当前view的右侧会在另一个View的左侧位置 与RelativeLayout的toLeftOf属性相似
  • layout_constraintRight_toRightOf : 当前View的右侧和另一个View的右侧位置对其与RelativeLayout的alignRight属性相似
  • layout_constraintTop_toTopOf : 头部对齐,与alignTop相似
  • layout_constraintTop_toBottomOf : 当前View在另一个View的下侧 与below相似
  • layout_constraintBottom_toTopOf : 当前View在另一个View的上方 与above相似
  • layout_constraintBottom_toBottomOf :底部对齐,与alignBottom属性相似
  • layout_constraintBaseline_toBaselineOf : 文字底部对齐,与alignBaseLine属性相似
  • layout_constraintStart_toEndOf : 同left_toRightOf
  • layout_constraintStart_toStartOf : 同left_toLeftOf
  • layout_constraintEnd_toStartOf : 同right_toLeftOf
  • layout_constraintEnd_toEndOf : 同right_toRightOf

RelativeLayout(相对布局)

属性

  • gravity:设置容器内组件的对齐方式
  • ignoreGravity:设置该属性为true的属性的组件,将不受gravity属性的影响
  • layout_alignParentLeft:相对父容器的左对齐
  • layout_alignParentRight:相对父容器的右对齐
  • layout_alignParentTop:相对父容器的顶部对齐
  • layout_alignParentBottom:相对父容器的底部对齐
  • layout_centerHorizontal:水平居中
  • layout_centerVertical:垂直居中
  • layout_centerInParent:中间位置
  • layout_toLeftOf:参考id组件的左边
  • layout_toRightOf:参考id组件的右边
  • layout_above:参考id组件的上方
  • layout_below:参考id组件的下方
  • layout_alignTop:对齐d组件的上外边
  • layout_alignBottom:对齐d组件的下外边
  • layout_alignLeft:对齐d组件的左外边
  • layout_alignReght:对齐d组件的右外边
  • layout_margin:外边偏移距
  • layout_marginLeft:左外边偏移距
  • layout_marginRight:右外边偏移距
  • layout_marginTop:底外边偏移距
  • layout_marginBottom:底外边偏移距
  • layout_marginHorizontal:水平外边偏移距,左右外边偏移距
  • layout_marginVertical:垂直外边偏移距,上下外边偏移距
  • padding:内边填充距
  • paddingLeft:内左边填充距
  • paddingRight:内右边填充距
  • paddingTop:内顶边填充距
  • paddingBottom:内底边填充距
  • paddingHorizontal:水平内边填充距,左右内边填充距
  • paddingVertical:垂直内边填充距,也就上下内边填充距

提示

相对布局的内部控件会存在覆盖的问题,一般是按xml代码顺序底下的控件出现在顶部的控件的上面。

LinearLayout(线性布局)

属性

  • orientation:布局中的控件的排列方式,有horizontal、vertical两种。
  • gravity:控件对齐方式
  • layout_gravity:自身对齐方式
  • weight:控件权重,注意布局水平排列时,layout_width 属性设置为 0dp,垂直排列时, android:layout_height 为 0dp
  • android:layout_margin:外边距,布局或控件距离外部元素的边距
  • android:layout_padding:内边距,布局或控件距离内部元素的边距

提示

当垂直排列时,其他控件固定高度,你可以通过给这个控件设置权重实现动态高度伸缩。

TableLayout(表格布局)

属性

  • android:collapseColumns:设置需要被隐藏的列的序号
  • android:shrinkColumns:设置允许被收缩的列的列序号
  • android:stretchColumns:设置运行被拉伸的列的列序号
  • android:layout_column="2“”:表示的就是跳过第二个,直接显示到第三个格子处,从1开始算的!
  • android:layout_span="4":表示合并4个单元格,也就说这个组件占4个单元格

FrameLayout(帧布局)

FrameLayout(帧布局)可以说是六大布局中最为简单的一个布局,这个布局直接在屏幕上开辟出一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式却没有任何的定位方式,所以它应用的场景并不多;帧布局的大小由控件中最大的子控件决定,如果控件的大小一样大的话,那么同一时刻就只能看到最上面的那个组件!后续添加的控件会覆盖前一个。
虽然默认会将控件放置在左上角,但是我们也可以通过layout_gravity属性,指定到其他的位置。

属性

  • android:foreground:*设置改帧布局容器的前景图像
  • android:foregroundGravity:设置前景图像显示的位置

GridLayout(网格布局)

属性

  • rowCount:设置网格布局的行数
  • columnCount:设置网格布局的列数
  • layout_column:设置组件位于列数,从0值开始,0就是第一列
  • layout_row:设置组件位于行数,从0值开始,0就是第一行
  • layout_rowSpan:纵向横跨行数
  • layout_columnSpan:横向横跨列数

AbsoluteLayout(绝对布局)

这个布局比较少用,基本用不到,因为现在的布局需要一定的适配,写死了反而不好。

属性

  •  android:layout_x:设置组件的X坐标
  •  android:layout_y:设置组件的Y坐标

如果您觉得有所收获,给作者一个关注、点赞、收藏;有问题可以评论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值