Android编程_布局

布局

布局是指对界面结构的全面规划与安排,通过api中提供的各种布局能够快速的完成对界面的设计

使用规律不同,摆放相对位置
布局是一种固定规则的容器

常用布局

  1. 线性布局 LinearLayout
    从上到下、从左到右排列
    代码依次写
    场景强烈排序意愿
  2. 相对布局 RelativeLayout
    内部子视图与代码无关,选取参照物的方式布局
  3. 帧布局 FrameLayout
    层次布局,堆叠布局
  4. 表格布局 TableLayout
    向表格一样
  5. 网格布局 GridLayout
    与表格相似
  6. 约束布局 ConstraintLayout
    方块布置,少量代码完成复杂任务

添加布局方式

布局、空间都是view

  1. 利用xml 文件设计
    界面设置文件
  2. 使用java代码添加
    . 设置不满满足页面与逻辑分开
    布局公有属性
    android:layout_width 宽度
    android:layout_height高度
    android: layout_padding 内边距
    android:layout_margin 外边距

线性布局 LinearLayout

案例例如:聊天窗口

线性布局常用属性:

  1. android: orientation 方向
  2. android:layout_weight 权重 占屏幕比例
  3. android:layout_gravity 重力 一个方向固定 调整另一个方向

0dp 与 layout_weight 搭配使用

相对布局 RelativeLayout

依靠参照物定位的布局,最灵活的布局
相对于父容器边线对其(取值:true/false):

android:layout_alignParentRight="true"
android:layout_centerHorizontal

相对于其他控件(取值:其他控件id):

android:layout_toRightOf="@id/name"

对照参考:在参照物的哪一边和那个参照物对齐

帧布局 FrameLayout

属性:

android:layout_gravity(控件重力)
android:foreground(前景)
android:foregroundGravity(前景重力)

表格布局 TableLayout

以行列方式显示控件
属性
如果直接在其中添加控件,控件将和父容器等宽,如果想让控件处于同一行需要在同一行控件外加上<TableRow></TableRow>

android:stretchColumns  对应索引列,设置可以伸展,参数时所有列0,1
android:shrinkColumns   对应索引列,设置可以收缩,参数时所有列0,1
android:collapseColumns 设置隐藏的列

网格布局 GirdLayout

于表格布局区别:能够定义好有多少行多少列

rowConut(行数量)
columnCount(列数量)
layout_row(位于第几行)
layout_column(位于第几列)
layout_rowSpan(跨几行)
layout_columnSpan(跨几列)
layout_gravity="fill" 效果填充

约束布局 ConstraintLayout

特点:

  1. 编写方式(编写界面可以通过拖拽控件方式完成)
  2. 解决布局嵌套过多的问题

通过使用约束的方式指定空间间的关系
重要属性:

app:layout_constraintTop_toBottomOf 约束当前view的底部位置 Top代表当前空间的位置 属性值是其他控件的id
android:layout_marginTop="40dp" 两个边线之间的距离

app:layout_constraintHorizontal_bias="0.064" 水平偏移量 取值0-1
app:layout_constraintVertical_bias="0.164"  垂直偏移量 取值 0-1

界面设计分为预览和蓝图
步骤:
控件拖拽
约束添加

基本操作
  1. 添加约束 原点箭头 一个控件需要有垂直约束与水平约束才可以正常使用
app:layout_constraintTop_toTopOf="parent"
第一个top 是本容器的约束边线
第二个top 是参照空间的边线
android:layout_marginTop="40dp" 

app:layout_constraintHorizontal_bias="0.064" 水平偏移量
app:layout_constraintVertical_bias="0.164"  垂直偏移量
偏移量可已脱离边线距离控制控件位置,整个容器宽高按照100%控制 默认取值0.5
inspector的认识

属性区域的设置

  1. layout 控制大小与约束距离
自动添加操作

Tum On Autoconnect 打开自动连接

Guidelines

参考线,一种可以隐藏的控件,设置对称效果时使用
重要属性

android:orientation="vertical" 方向
app:layout_constraintGuide_percent="0.5" 比例

网格效果也可以通过基线画出网格,控件约束与基线

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老黑675

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值