UI设计工具文档UI设计工具文档
反馈
  • AC791
  • AC792
  • AC63
  • GPMCU
  • AD14/15/17/18/AD104
  • AD16
  • AD24
  • AC82
  • AW30
  • AW31
反馈
  • AC791
  • AC792
  • AC63
  • GPMCU
  • AD14/15/17/18/AD104
  • AD16
  • AD24
  • AC82
  • AW30
  • AW31
  • 1.工具前言

    • 1.1.工具首页
    • 1.2.前言说明
  • 2.快速使用

    • 2.1.快速使用
    • 2.2.快速上手
    • 2.3.板子配置
    • 2.4.视频教程
    • 2.5.硬件资料
  • 3.控件说明

    • 3.1.控件说明
    • 3.2.基础控件

      • 页面
      • 按钮
      • 图片按钮
      • 标签
      • 图片
      • 文本框
      • 开关
      • 数字微调器
      • 复选框
      • 下拉框
      • 进度条
      • Lottie动画
      • 帧动画
      • 图表
      • 滑动条
      • 弧线
      • 仪表盘
    • 3.3.菜单控件

      • 圆弧菜单
      • 齿轮菜单
      • 列表菜单
      • 曲线菜单
      • 网格菜单
      • 万花筒菜单
      • 多边形菜单
    • 3.4.容器控件

      • 通用容器
      • Flex布局
  • 4.高级功能

    • 4.1.时间轴动画
    • 4.2.模型绑定
    • 4.3.资源管理
    • 4.4.国际化
    • 4.5.硬件仿真
    • 4.6.自动化测试
    • 4.7.控件组
    • 4.8.菜单管理
    • 4.9.页面管理
    • 4.10.动态页面
  • 5.插件系统

    • 5.1.插件说明
    • 5.2.开发指南
    • 5.3.字体合并
    • 5.4.图片编辑
    • 5.5.截图
    • 5.6.项目合并
    • 5.7.项目属性编辑
    • 5.8.视频转图片
  • 6.使用案例

    • 6.1.倒计时案例
  • 7.常见问题

    • 7.1.问题说明
    • 7.2.编译问题
    • 7.3.LVGL问题
    • 7.4.仿真问题
    • 7.5.UI工具问题
    • 7.6.其他问题
  • 8.工具杂项

    • 8.1.杂项1
    • 8.2.杂项2

Flex布局

Flex布局是一种一维布局,在UI工具上,只能在一个方向上排列元素,可以是水平方向,也可以是垂直方向。

本章目录
  • 1. 属性
    • 1.1. MainPlace
    • 1.2. CrossPlace
    • 1.3. TrackCrossPlace
    • 1.4. 子Flex布局属性
  • 2. 样式
本章正文

属性

PropertyDescription
FlexFlow方向,水平或垂直
MainPlace主轴对齐方式,相当于Css的justify-content
CrossPlace侧轴对齐方式,相当于Css的align-items
TrackCrossPlace轨道对齐方式,相当于Css的align-content
Childrens子Flex布局,每一个子Flex布局只能添加一个控件,该控件的大小由子Flex布局的大小决定,填充满整个子Flex布局

Flex布局是Css Flexbox的一个子集,MainPlace、CrossPlace、TrackCrossPlace的实现方式,可以参考 CSS Flexbox中的justify-content、align-items、align-content。

MainPlace

当所有子Flex布局的GrowEn属性为false时,该属性生效,决定子元素沿着主轴方向如何排列。默认对齐方式是LV_FLEX_MAIN_ALIGN_START。

  • Start:LV_FLEX_ALIGN_START,子元素从起始位置开始排列。
  • End:LV_FLEX_ALIGN_END,子元素从结束位置开始排列。
  • Center:LV_FLEX_ALIGN_CENTER,子元素在主轴方向居中对齐。
  • SpaceEvenly:LV_FLEX_ALIGN_SPACE_EVENLY,子元素均匀分布,间隔相等。
  • SpaceAround:LV_FLEX_ALIGN_SPACE_AROUND,子元素之间的间隔相等,且两边留有半个间隔的空白。
  • SpaceBetween:LV_FLEX_ALIGN_SPACE_BETWEEN,子元素之间的间隔相等,但两边不留空白。

CrossPlace

CrossPlace属性决定子元素在交叉轴(与主轴垂直的轴)上的对齐方式。

  • Start:LV_FLEX_ALIGN_START,子元素从交叉轴的起始位置开始对齐。
  • End:LV_FLEX_ALIGN_END,子元素从交叉轴的结束位置对齐。
  • Center:LV_FLEX_ALIGN_CENTER,子元素在交叉轴方向居中对齐。

TrackCrossPlace

  • Start:LV_FLEX_ALIGN_START,子元素从轨道的起始位置开始对齐。
  • End:LV_FLEX_ALIGN_END,子元素从轨道的结束位置对齐。
  • Center:LV_FLEX_ALIGN_CENTER,子元素在轨道内居中对齐。

子Flex布局属性

PropertyDescription
GrowEn是否启用Flex Grow,启用时子元素可伸展填满父布局
GrowFlex Grow的值,决定子元素的伸展比例
宽度子Flex布局的宽度,可以是固定值或百分比
高度子Flex布局的高度,可以是固定值或百分比

当GrowEn属性被启用时,子Flex布局的大小将根据父Flex布局的大小进行动态调整。如果多个子Flex布局启用了Grow,它们的大小将根据Grow值的比例来分配。

例如:

  1. 垂直布局,有三个子Flex布局,Grow值分别为1、2、3,那么它们的高度将按照1:2:3的比例进行分配。
  1. 垂直布局,有三个子Flex布局,前两个分别设置Grow为1,最后一个没有启用Grow,但设置了高度为50%。此时前两个子Flex布局将按照1:1的比例分配剩余的50%高度。
  1. 垂直布局,有五个子Flex布局,都没有启用Grow,但高度都设置为30%。此时这些子Flex布局的总高度将超出父Flex布局,滚动以查看所有内容。

样式

StylePartDescription
Padding RowMain行内边距
Padding ColumnMain列内边距
上一页
通用容器