[HMI/GUI] lvgl多级菜单切换有没有什么好的实现办法啊?

[复制链接]
4612|14
 楼主| EmmaTT 发表于 2024-5-15 16:39 来自手机 | 显示全部楼层 |阅读模式
现在想着是通过查表来实现
奔跑的牛 发表于 2024-6-7 17:39 | 显示全部楼层
可以通过tap标签界面 实现多级菜单显示
故意相遇 发表于 2024-7-18 18:51 | 显示全部楼层
你可以看例程啊,不是有一些关于lvgl的例程吗
白马过平川 发表于 2024-7-18 21:00 | 显示全部楼层
一般来说就用查表的方式是OK的
风凉 发表于 2024-7-18 23:00 | 显示全部楼层
LVGL(Light and Versatile Graphics Library)是一个用于嵌入式系统的开源图形库,它提供了丰富的图形组件和事件处理机制。在LVGL中实现多级菜单切换,可以用指针的方式实现
西洲 发表于 2024-7-19 02:00 | 显示全部楼层
使用lv_list组件呢?一般是可以实现创建多级菜单的吧
捧一束彼岸花 发表于 2024-7-19 04:00 | 显示全部楼层
一般来说是可以用查表的,而且网上也建议用查表,比较简单
未说出口的像你 发表于 2024-7-19 08:00 | 显示全部楼层
lv_tabview组件允许创建带有标签页的界面,每个标签页可以包含一个菜单。通过切换标签页来实现菜单的切换
一只眠羊 发表于 2024-7-19 12:00 | 显示全部楼层
创建一个自定义的菜单管理器结构体,用于管理菜单的层次结构和状态。
在曼谷的春 发表于 2024-7-19 14:00 | 显示全部楼层
在菜单管理器中定义菜单项的结构体,包括菜单项的名称、回调函数和子菜单项的指针。使用栈来管理当前显示的菜单层次,当用户选择一个菜单项时,将子菜单压入栈中,当用户返回时,从栈中弹出当前菜单。
月亮一键变蓝 发表于 2024-7-19 21:00 | 显示全部楼层
定义了一个简单的菜单结构,并使用lv_list组件来显示菜单项。当用户点击一个菜单项时,如果该菜单项有子菜单,则清除当前屏幕并显示子菜单。
我吃小朋友 发表于 2024-7-19 23:00 | 显示全部楼层
其实我觉得,你擅长那个方式就用那个方式,用查表是可以的,我觉得
夜晚有三年 发表于 2025-8-30 14:14 | 显示全部楼层
用 lvgl 的 page 和 obj 容器嵌套,每层菜单放不同容器,通过按钮回调切换容器显示 / 隐藏,配合动画提升体验,简单高效。
我趴在云边 发表于 2025-9-14 13:39 | 显示全部楼层
实现 lvgl 多级菜单切换,可采用对象池管理不同层级菜单,用 lv_obj_set_parent () 切换显示层级。或用 lv_page 装载子菜单,通过滑动 / 按钮触发 lv_obj_move_foreground () 切换。也可预创建各级菜单,切换时隐藏当前、显示目标,配合动画提升体验,关键是做好层级间数据传递与状态保存。
世纪女孩 发表于 2025-9-23 14:24 | 显示全部楼层
在 LVGL 中实现多级菜单切换,推荐用页面切换 + 对象池模式:
定义菜单数据结构(父子关系、回调等)
用 lv_obj_t 动态创建菜单页面
切换时隐藏当前页,加载目标页
保留历史栈实现返回功能
复用菜单项对象减少内存占用
关键是解耦数据与 UI,通过统一接口处理菜单切换逻辑。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

430

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部