LVGL (2) 图层

LVGL 具有图层(Layer)的概念,默认规则是最后创建的在最上层,一般我们都是使用在 lv_scr_act 层上面创建各种控件(widgets),每个控件其实就相当于一个个小小的图层展示在屏幕上。

在 lv_scr_act 之上还有另外两个层 top_layer 和 sys_layer,这是两个特殊的层。两者在显示器的所有屏幕上都是可见的和通用的。但是,它们不会在多个物理显示器之间共享。 top_layer 始终位于默认屏幕 (lv_scr_act()) 的顶部,而 sys_layer 位于 top_layer 的顶部。

用户可以使用 top_layer 来创建一些随处可见的内容。例如,一个菜单栏,一个弹出窗口等。如果启用了click属性,那么 top_layer 将吸收所有用户点击并充当模态。

sys_layer 在 LVGL 中也用于类似的目的。例如,它将鼠标光标放在所有图层上方以确保它始终可见。

sys_layer > top_layer > lv_scr_act

使用 LVGL 实现模式对话框的关键点就是利用 sys_layer 和 top_layer 的特点。也就是说创建对话框的时候在 sys_layer 和 top_layer 之上创建即可

  • 无模式对话框:再 GUI 系统中,如果点击 button,并弹出一个对话框后,对话框停留在屏幕上,随时可用,并且屏幕后的其他组件依然处于可用状态,允许其他操作‘
  • 模式对话框:点击 button 后,弹出对话框,必须响应了对话框后,其他组件才可用;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值