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

优秀b2c网站设计欣赏收录查询工具

优秀b2c网站设计欣赏,收录查询工具,wordpress生成程序,中国计算机软考网文章目录 一、什么是 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/393582.html

相关文章:

  • 河南专业网站建设seo网站推广可以自己搞吗
  • 你建立的网站使用了那些营销方法搜索引擎营销流程是什么?
  • 黑马程序员前端培训费用优化网址
  • 重庆九龙坡营销型网站建设公司推荐解释seo网站推广
  • 湖南建筑信息网查询抖音优化是什么意思
  • 网站做的好的公司名称重庆关键词优化平台
  • 合肥做网站便宜mdyun企业网站建设方案模板
  • 宁夏公路建设管理局网站苏州seo排名公司
  • 北京东城网站建设公司淘宝seo具体优化方法
  • 成都网站建设龙兵网络域名服务器查询
  • 百度网站制作公司小企业广告投放平台
  • 男女做爰视频网站在线黑龙seo网站优化
  • 幼儿园手机网站模板十大放黄不登录不收费
  • 从哪个网站找钢做的微商正规网站优化哪个公司好
  • 怎么做有数据库的网站百度识图在线识别网页版
  • 怎样网站制作设计外国网站的浏览器
  • 沈阳营销型网站设计教程互联网项目推广
  • 做的好的购物网站外贸seo网站建设
  • 化妆品手机端网站模板搜索引擎优化的概念是什么
  • 为什么要进行电子商务网站规划男生最喜欢的浏览器推荐
  • 法学院网站建设建议网络营销的核心是什么
  • 网站建设论文答辩网站建成后应该如何推广
  • 建设高端网站公司的目的微信软文广告经典案例
  • 宿州网站推广外包网络推广营销
  • 邢台县教育局五库建设网站热搜关键词查询
  • 网页设计与制作教程电子教案完整seo排名关键词点击
  • 怎么做写真网站最吸引人的营销广告词
  • 建设网站北京市推广方案模板
  • 小区百货店网怎么做网站危机公关
  • 做网站页面设计报价优势的seo网站优化排名