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

bim网站关键词优化公司推荐

bim网站,关键词优化公司推荐,公司网站域名怎么续费,有几个网站可以做代发的文章目录 一、什么是 LVGL 的网格布局(Grid)?二、使用 Grid 布局的步骤✅ 1. 设置容器为 Grid 布局✅ 2. 定义网格行列模板常用单位:示例: ✅ 3. 应用模板到容器✅ 4. 设置子控件在网格中的位置和跨度 三、完整示例&am…

文章目录

    • 一、什么是 LVGL 的网格布局(Grid)?
    • 二、使用 Grid 布局的步骤
      • ✅ 1. 设置容器为 Grid 布局
      • ✅ 2. 定义网格行列模板
        • 常用单位:
        • 示例:
      • ✅ 3. 应用模板到容器
      • ✅ 4. 设置子控件在网格中的位置和跨度
    • 三、完整示例:2×2 网格
    • 四、Grid 与 Flex 的对比
    • 五、如何选择?
    • 六、可视化对比图示意(示意)🔍



一、什么是 LVGL 的网格布局(Grid)?

网格布局是一种类似 HTML 中 CSS Grid 的布局方式,它允许你将容器划分为“行 × 列”的结构,然后把子控件放到网格的具体格子中。它更适用于复杂、规则、静态的控件排布,比如表格、键盘、计算器等。


二、使用 Grid 布局的步骤

✅ 1. 设置容器为 Grid 布局

lv_obj_set_layout(cont, LV_LAYOUT_GRID);

或者你可以直接使用 lv_obj_set_grid_dsc_array() 来初始化布局(推荐使用)


✅ 2. 定义网格行列模板

你需要提前定义一个“模板”,告诉 LVGL 每行/每列多宽、是否可伸缩。

常用单位:
  • LV_GRID_FR(n):比例单位(像 CSS 的 fr
  • LV_GRID_CONTENT:自动匹配内容大小
  • LV_GRID_TEMPLATE_LAST:标记模板结束
示例:
static lv_coord_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(2), LV_GRID_TEMPLATE_LAST};
static lv_coord_t row_dsc[] = {LV_GRID_CONTENT, LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};

这表示:

  • 有两列,第一列宽度是 1 比例单位,第二列宽度是 2;
  • 有两行,第一行为内容大小,第二行为 1 比例单位。

✅ 3. 应用模板到容器

lv_obj_set_grid_dsc_array(cont, col_dsc, row_dsc);

✅ 4. 设置子控件在网格中的位置和跨度

lv_obj_set_grid_cell(child, LV_GRID_ALIGN_STRETCH, 0, 2,LV_GRID_ALIGN_CENTER, 1, 1);

参数解释如下:

lv_obj_set_grid_cell(obj, col_align, col_pos, col_span,row_align, row_pos, row_span);
参数说明
col_align水平方向对齐(如:LV_GRID_ALIGN_CENTER
col_pos起始列编号(从 0 开始)
col_span横向跨几列
row_align垂直方向对齐
row_pos起始行编号
row_span纵向跨几行

三、完整示例:2×2 网格

lv_obj_t * cont = lv_obj_create(lv_scr_act());
lv_obj_set_size(cont, 300, 200);
lv_obj_center(cont);static lv_coord_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
static lv_coord_t row_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};lv_obj_set_grid_dsc_array(cont, col_dsc, row_dsc);// 创建 4 个按钮,放入网格
for (int i = 0; i < 4; i++) {lv_obj_t * btn = lv_btn_create(cont);lv_obj_set_grid_cell(btn, LV_GRID_ALIGN_CENTER, i % 2, 1,LV_GRID_ALIGN_CENTER, i / 2, 1);lv_obj_t * label = lv_label_create(btn);lv_label_set_text_fmt(label, "Btn %d", i + 1);lv_obj_center(label);
}

四、Grid 与 Flex 的对比

特性Grid 网格布局Flex 弹性布局
布局结构明确的行列划分,固定网格格子主轴 + 子控件自动流式排列
控件定位子控件放入指定行列、支持跨行跨列子控件根据顺序自动排列
控件大小可通过比例、内容、固定值精确控制通常由控件自身宽高 + grow 决定
对齐控制每个子控件可以独立设置对齐整体主轴和交叉轴对齐控制为主
响应式程度更适合静态、规则布局(如键盘)更适合动态内容排列、流式排版(如卡片墙)
学习曲线略高,需要理解网格结构和定位较低,上手快

五、如何选择?

需求类型建议使用
表格、键盘、计算器、九宫格类布局✅ Grid
聊天记录、图片流、按钮组✅ Flex
可预知的行列内容✅ Grid
不确定控件数量或大小✅ Flex

六、可视化对比图示意(示意)🔍

Grid 布局                    Flex 布局
┌────┬────┐                ┌────┬────┬────┐
│ A1 │ A2 │                │ A  │ B  │ C  │
├────┼────┤                └────┴────┴────┘
│ B1 │ B2 │                主轴流动排列
└────┴────┘
规则行列结构                控件顺序排列

http://www.dtcms.com/wzjs/24742.html

相关文章:

  • 奶制品网站建设的需求分析seo培训费用
  • dz网站建设上海最新发布
  • 网站的承诺seo专员是做什么的
  • php动态网站开发人民邮电出版社4p 4c 4r营销理论区别
  • 单位网站建设费算无形资产吗汕头网站建设方案外包
  • 萧山中兴建设有限公司网站企业网搭建
  • 新手做网站如何赚钱深圳网络推广渠道
  • 如何查询网站是否有做404搜索引擎优化到底是优化什么
  • 玉泉营网站建设网站服务器速度对seo有什么影响
  • 南昌哪里可以做企业网站seo刷关键词排名免费
  • 个人博客网站实验报告seo关键词推广价格
  • 网页设计中好的网站seo是搜索引擎营销吗
  • 做网站被骗该咋样做搜索引擎推广
  • 广州低价网站建设引流推广网站平台
  • 政府网站功能模块有哪些seo资讯网
  • 杭州网站建设代理商aso是什么意思
  • 建设官方网站企业登录各大网站收录入口
  • 自己做盈利视频网站注册公司流程和费用
  • 苹果个人开发者账号seo是什么意思职业
  • 有没有专做推广小说的网站南宁网站推广哪家好
  • 一个做3dh视频的国外网站百度快照不更新怎么办
  • java做网站教程新品推广活动方案
  • 合肥seo推广百家号杭州网站优化公司哪家好
  • 外贸网站建设产品谷歌收录查询工具
  • 没有网站可以做京东联盟吗网页优化包括
  • 做黑彩网站赚钱吗百度下载免费安装到桌面
  • 网站建设的分工的论文微营销官网
  • 昆明官方网站建设网络公司品牌推广
  • 怎么样做门户网站西安sem竞价托管
  • 网页界面设计网站免费推广产品的平台