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格式。

相关推荐
袅沫21 小时前
Element-UI 番外表格组件
javascript·vue.js·ui
百锦再1 天前
[特殊字符] HBuilder uni-app UI 组件库全方位对比
android·java·开发语言·ui·rust·uni-app·go
lqj_本人3 天前
鸿蒙与Qt的双线程模型:主线程与UI线程的博弈
qt·ui·harmonyos
南华3 天前
Visual Studio 2022 加载解决方案缓慢
ui
lqj_本人3 天前
鸿蒙原生与Qt混合开发:UI集成与事件处理
qt·ui·harmonyos
Irene19913 天前
Element UI 及其 Vue 3 版本 Element Plus 发展现状
前端·vue.js·ui
周周爱喝粥呀4 天前
UI设计原则和Nielsen 的 10 条可用性原则
前端·ui
大雷神4 天前
MateChat+ DevUI 电商后台管理系统中集成 AI 聊天助手功能
人工智能·ui
冒泡P4 天前
【Unity】TextMeshPro富文本中使用精灵图集
ui·unity·c#·游戏引擎
B0URNE4 天前
【Unity基础详解】(9)Unity核心:UI系统
ui·unity·游戏引擎