LVGL 中设置 UI 层局部透明,显示下方视频层

LVGL层次

LVGL自上而下分别是layer_sys > layer_top > lv_sreen_active > layer_bottom

即 系统层、顶层、活动屏幕、底层

原理

如果将UI设置为局部透明,显示下方的视频层,不仅仅需要将当前活动屏幕的背景设置为透明,还需要将底层背景也设置为透明。(实测不需要将顶层和系统层设置为透明,当然设置为透明也没问题)

代码

复制代码
lv_obj_set_style_bg_opa(lv_screen_active(), LV_OPA_TRANSP, LV_PART_MAIN)
lv_obj_set_style_bg_opa(lv_layer_bottom(), LV_OPA_TRANSP, LV_PART_MAIN)
lv_display_set_color_format(disp, LV_COLOR_FORMAT_ARGB8888)

这里说一个坑,LVGL中32位的颜色深度除了LV_COLOR_FORMAT_ARGB8888之外还有LV_COLOR_FORMAT_XRGB8888, 后面这个XRGB888像素格式中的X表示没有透明度。

如果之前设置显示器display为了XRGB8888,无法透明掉背景,需要按上述代码最后一句将display设置位ARGB8888格式。

相关推荐
Wang's Blog1 天前
Java框架快速入门: Spring Security+OAuth2之多因子认证与TOTP实战
java·spring·ui
Huanzhi_Lin2 天前
UI业务模块化随笔
ui·mvc·mvp·ecs·ui框架·模块化开发
Quor2 天前
Zorv AI GenUI 技术架构深度解析:从双面设计到安全边界
人工智能·ui·架构
HwJack202 天前
HarmonyOS批量数据与性能优化实战:万条数据入库与不卡 UI 的查询
ui·性能优化·harmonyos
威斯软科的老司机2 天前
通俗讲解 CNN 图像识别、向量 Embedding、Softmax 概率计算这三块的简化原理
前端·人工智能·ui·数字孪生
web守墓人3 天前
【goed/ui】go开发windows原生应用之Helloworld篇
windows·ui·golang
码匠许师傅6 天前
【设计模式精讲】25.状态模式(State)
c++·ui·设计模式·状态模式·uml
插件开发6 天前
Illustrator 插件开发:链接文件存在检查的原理与实战
ui·illustrator
xy34536 天前
axure9.0 如何打造一个计时器(简单版)
前端·ui·html·axure·原型·产品设计