当前位置: 首页 > ops >正文

android 布局小知识点 随记

1. 布局属性的命名前缀规律

与父容器相关的前缀
  • layout_alignParent:相对于父容器的对齐方式。
    例如:layout_alignParentTop="true"(相对于父容器顶部对齐)。
  • layout_margin:与父容器或其他控件的边距。
    例如:layout_marginTop="16dp"(距离父容器顶部或上方控件 16dp)。
  • layout_gravity:控件在父容器中的对齐方式(仅部分布局支持,如 LinearLayout)。
与兄弟控件相关的前缀
  • layout_align:与其他控件的对齐方式。
    例如:layout_alignTop="@id/otherView"(与 otherView 的顶部对齐)。
  • layout_toRightOf/layout_below:相对于其他控件的位置。
    例如:layout_toRightOf="@id/button1"(位于 button1 的右侧)。
控件自身特性前缀
  • android:gravity:控件内部内容的对齐方式。
  • android:padding:控件内容与自身边界的距离。
  • android:layout_width/layout_height:控件自身的宽高。

2. 不同布局容器的特性与常用属性

LinearLayout(线性布局)
  • 特有属性
    • android:orientation(水平 / 垂直排列)。
    • layout_weight(权重,控制控件在剩余空间中的占比)。
    • layout_gravity(控件在当前方向的对齐方式,如 layout_gravity="right" 在垂直方向有效)。
RelativeLayout(相对布局)
  • 核心逻辑:通过与其他控件或父容器的相对位置关系定位。
  • 特有属性
    • layout_alignParentXXX(与父容器对齐)。
    • layout_alignXXX(与其他控件对齐)。
    • layout_toXXXOf(相对于其他控件的位置)。
    • layout_centerInParent/layout_centerHorizontal(居中对齐)。
FrameLayout(帧布局)
  • 特性:所有控件堆叠在左上角,后添加的控件覆盖在前的控件。
  • 常用属性
    • layout_gravity(控制控件在容器中的对齐方式)。
ConstraintLayout(约束布局)
  • 核心逻辑:通过控件间的约束关系(连线)定位。
  • 特有属性
    • app:layout_constraintStart_toEndOf(左侧连接到另一个控件的右侧)。
    • app:layout_constraintVertical_bias(垂直方向的偏移比例)。
    • app:layout_constrainedWidth/layout_constrainedHeight(约束宽高)。
TableLayout/GridLayout
  • 特性:表格或网格布局,通过行列定位。
  • 特有属性
    • layout_column/layout_row(指定单元格位置)。

3. 记忆技巧

  1. 按前缀分组

    • layout_alignParentXXX → 与父容器相关。
    • layout_alignXXX/layout_toXXXOf → 与其他控件相关。
    • layout_gravity → 控件在父容器中的对齐(部分布局支持)。
    • android:gravity/android:padding → 控件自身内容的对齐或内边距。
  2. 结合布局特性

    • 线性布局:关注 orientation 和 weight
    • 相对布局:关注各种 layout_align 和 layout_toXXXOf
    • 约束布局:关注约束连线的方向(Start_toEndOfTop_toBottomOf 等)。
  3. 通过可视化工具辅助
    Android Studio 的布局编辑器可直观调整属性,帮助理解属性作用。

4. 常见混淆点

  • layout_gravity vs android:gravity:前者控制控件在父容器中的位置,后者控制控件内部内容的位置。
  • margin vs padding:前者是控件与外部的距离,后者是控件内容与边界的距离。
  • RelativeLayout 的 layout_align 与 ConstraintLayout 的约束:前者直接指定控件 ID,后者通过方向约束。

通过前缀和布局特性的组合记忆,能快速掌握不同场景下的布局属性!如果遇到具体属性不理解,建议在 Android Studio 中实时预览效果,加深记忆。

http://www.xdnf.cn/news/12687.html

相关文章:

  • OpenEuler服务器警告邮件自动化发送:原理、配置与安全实践
  • 数据的输出、输入
  • 20242817李臻-安全文件传输系统-项目验收
  • springboot2.x升级springboot3.x
  • 端午编程小游戏--艾草驱邪
  • 【SpringBoot自动化部署方法】
  • UDP与TCP通信协议技术解析
  • XXL-JOB——源码分析解读(1)
  • 英语词汇表格 form, table, sheet, grid, tabulation 的区别
  • 打卡第38天:早停策略和模型权重的保存
  • Maven的配置与运行
  • 【强化学习】——04Model-Based RL
  • 垃圾回收相关八股
  • IDEA中的debug使用技巧
  • 伽罗华域GF(galois field)的乘法计算 - 查表法
  • Three.js实现梦幻星光漩涡特效 - 从原理到实现
  • Python 基础核心语法:输入输出、变量、注释与字符串操作
  • FirmAE安装-重新写
  • JDK17安装与配置
  • 心理咨询技能竞赛流程方案
  • Python Day45
  • 业余无线电FT8信道调制之LDPC编码
  • EMD算法
  • 复变函数极限介绍与MATLAB演示
  • 【仿生机器人】仿生机器人智能架构:从感知到个性的完整设计
  • 从零开始的python学习(七)P102+P103+P104+P105+P106+P107
  • Python 中的上下文管理器:使用 with 关键字高效管理资源
  • 【Redis系列 04】Redis高可用架构实战:主从复制与哨兵模式从零到生产
  • 第10篇《数据库中间件集成监控与全链路观测系统设计》
  • 2007-2023年数字经济上市公司专利申请获得数据