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

安卓的布局方式

一、RelativeLayout 相对布局

    特点:每个组件相对其他的某一个组件进行定位。

   (一)主要属性

     1、设置和父组件的对齐:

      alignParentTop : 设置为true,代表和父布局顶部对齐。

     其他对齐只需要改变后面的Top为 Left、Right 或者Bottom,来表示和父组件的哪个方向对齐。

    2、设置内部的对齐:

    alignRight :  指定参照的组件ID,也就是当前组件和参照的组件右对齐。

     其他方位如Baseline、 Left、 Right、 Top、 Bottom等等。

   3、设置组件的次序:

toRightOf="组件ID"   在指定组件的右边

toLeftOf="组件ID"    在指定组件的左边

above="组件ID"   在指定组件的上边

below="组件ID"   在指定组件的下边

   5、特殊对齐方式

   水平对齐: centerHorizontal=true

   垂直对齐: centerVertical = true

   相对父组件居中: centerInparent = true

      

    设计思路:确定一个组件为基准,其他的向基准对齐,再设置外边距,次序,就能布局好界面。

二、LinerLayout 线性布局

   特点:把组件放在一行,或者一列,有顺序的排列。

   属性值:

排列方向: 

orienation: horizontal水平、vertical垂直。

 

layout_weight: 设置权重。

三、AbsoluteLayout 绝对布局

  特点:指定每个组件的坐标和宽高,这是固定的。

 属性:  

  指定坐标(原点是左上角):

    layout_x:  指定水平横坐标

    layout_y:  指定垂直纵坐标

 

  指定宽高:

     height: 高度

     width: 宽度

四、FrameLayout 帧坐标

特点:把组件叠在一起,先加入的在底下,后加入的放在上面一层。

五、TableLayout 表格布局

   特点:每个组件占用一个格子,不清楚能不能跨行和跨列。

  属性:

  android:stretchColumns 设置该列被拉伸

  android:shrinkColumns 设置该列被收缩

  android:collapseColumns 设置该列被隐藏

子标签:

       <TableRow> 定义一行,容纳其他组件,放在一行中。有多行,就定义多个该标签。

      属性:

          layout_column:指定组件所在的列号,从0开始。

          layout_span: 设置跨几列,默认是1列。

六、GridLayout 网格布局

 特点:和表格布局一样,但是可以跨行跨列。

           内部组件按顺序添加,默认顺序按照行来分配。

 属性:

   columnCount: 指定列数。

   orientation:指定方向。

   layout_gravity:  指定 center 和fill的样式。

   columnSpan: 指定占用几列。

   rowSpan: 指定该组件占用几行。

七、通用属性:

 1、设置指定方位的边距

     marginTop: 设置上方的外边距。

     paddingTop:  设置上方的内边距

同理,还有其他方位的。

注意:单独的margin 、padding可以同时设置四周的外边距和内边距。

相关文章:

  • 【MySQL基础】聚合函数从基础使用到高级分组过滤
  • 【今日半导体行业分析】2025年3月30日
  • vue2,vue3,vue3 + vite 动态加载图片的方式
  • Go 语言规范学习(6)
  • vue3新增特性(二)
  • 探秘Transformer系列之(20)--- KV Cache
  • PCIe 调试 执行retrain
  • [Linux]解决虚拟机 ubantu系统下网络的问题
  • android studio 使用Java xml开发app
  • NUUO摄像头debugging_center_utils命令执行漏洞
  • JS 生成批量投入数据用的csv文件
  • 是否每一层之间都要线性变换和激活函数?
  • 记一次snmp_exporter/generator生成yml报错问题修复
  • 【小兔鲜】day01 项目、Vue3介绍、组合式API、小案例
  • [python]minepy安装后测试代码
  • cpp栈操作
  • 计算机网络相关知识小结
  • 笔记 数字电路与计算机组成
  • 祥瑞金业:如果美股进入熊市,黄金会如何反应?
  • 基于Linux C++多线程服务器 + Qt上位机开发 + STM32 + 8266WIFI的智慧无人超市