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

相关推荐
测试开发技术2 天前
AI 测试提效 | 告别手工写脚本,分享我的 Playwright + Skill 批量生成 UI 自动化脚本方案
自动化测试·人工智能·ui·自动化·agent·skill·ai测试
吾儿良辰2 天前
Flutter 迎来重大变革:Material 设计系统拆分,迈向更开放的 UI 框架
javascript·flutter·ui
兰亭妙微UI设计公司2 天前
兰亭妙微精益 UX 设计实战指南:以轻量化迭代消除设计资源浪费
ui
打妖妖灵滴哪吒2 天前
IOS模态窗口的作用与设计原则
前端·ui
打妖妖灵滴哪吒2 天前
前端开发/UI设计师-APP中如何进行可发现性设计
前端·ui
玛艾露贝3 天前
Browser-Use在UI自动化测试中的应用
ui
brave_zhao3 天前
Axure RP 9模板的使用
ui·axure·photoshop
骊城英雄3 天前
基于C#+avalonia ui实现的跨平台点胶机灌胶监控控制上位机软件
开发语言·ui·c#
兰亭妙微UI设计公司3 天前
兰亭妙微UI设计公司拆解:设计目标、原则、策略、方法、指标的区别与落地逻辑
ui
天天进步20153 天前
UI-TARS 源码解析 #16:点击、双击、右键、悬停源码解析:GUI Agent 如何控制鼠标?
ui