Android 常用布局

追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

导读:本篇文章讲解 Android 常用布局,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

目录

一、什么是布局?

二、有哪些常用布局

ConstraintLayout(自适应界面)

属性

RelativeLayout(相对布局)

属性

提示

LinearLayout(线性布局)

属性

提示

TableLayout(表格布局)

属性

FrameLayout(帧布局)

属性

GridLayout(网格布局)

属性

AbsoluteLayout(绝对布局)

属性


一、什么是布局?

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

Android 常用布局

 注意:布局不建议一个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坐标

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/128366.html

(1)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!