news 2026/5/17 1:06:39

LVGL 亮度调节实例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LVGL 亮度调节实例

概述

        平台炬芯,使用LVGL渲染UI界面,实现人机交互。本实例基于模拟器运行,可供参考。

比较传统写法,还有优化的空间。

1、Visual Studio 26版本

2、代码

/* * Copyright (c) 2020 Actions Technology Co., Ltd * * SPDX-License-Identifier: Apache-2.0 */ /** * @file brightness_set_view.c */ #include <os_common_api.h> #include <app_ui.h> #include <view_stack.h> /* picture idx */ enum { IDX_PIC_BS_BRIGHTNESS_DOWN_BTN = 0, IDX_PIC_BS_BRIGHTNESS_UP_BTN, IDX_PIC_BS_COUNT, }; /* picture */ const static uint32_t _pic_ids[] = { PIC_BS_BRIGHTNESS_DOWN_BTN, PIC_BS_BRIGHTNESS_UP_BTN, }; /* group picture idx */ enum { IDX_PIC_BS_BRIGHTNESS_SLIDER_BG = 0, IDX_PIC_BS_BRIGHTNESS_SLIDER_ICON, IDX_PIC_BS_GROUP_COUNT, }; /* group picture */ const static uint32_t _pic_group_ids[] = { PIC_BS_BRIGHTNESS_SLIDER_BG, PIC_BS_BRIGHTNESS_SLIDER_ICON, }; typedef struct brightness_set_view_data { lv_obj_t *scr; lv_obj_t *main_obj; /* lvgl resource */ lvgl_res_scene_t res_scene; //场景 lvgl_res_group_t res_group; //资源组 lv_img_dsc_t img_dsc[IDX_PIC_BS_COUNT]; lv_img_dsc_t img_group_dsc[IDX_PIC_BS_GROUP_COUNT]; lv_font_t font; /* user data */ lv_obj_t *bright_down_btn; lv_obj_t *bright_up_btn; lv_obj_t *bright_slider; // 滑动条主体 lv_obj_t *bright_speaker_icon; // 保存亮度图标引用 int current_brightness; // 新增:保存当前亮度值,用于联动 } brightness_set_view_data_t; /* 滑动条值变化回调:同步当前亮度值(可选:可在此添加系统亮度设置逻辑) */ static void bright_slider_change_cb(lv_event_t *e) { brightness_set_view_data_t *data = lv_event_get_user_data(e); if (!data || !data->bright_slider) return; // 获取滑动条当前值,更新到data中 data->current_brightness = lv_slider_get_value(data->bright_slider); SYS_LOG_INF("current_brightness: %d", data->current_brightness); // 【可选】如果需要同步到系统亮度,添加这里: // set_brightness(data->current_brightness); } /* 亮度- 按键回调:控制滑动条值减少 */ static void bright_down_btn_cb(lv_event_t *e) { brightness_set_view_data_t *data = lv_event_get_user_data(e); if (!data || !data->bright_slider) return; // 从滑动条获取当前值,减少5(步长可调整) int bright = lv_slider_get_value(data->bright_slider); if (bright > 0) { data->current_brightness = (bright - 5) < 0 ? 0 : (bright - 5); // 同步到data->current_brightness lv_slider_set_value(data->bright_slider, data->
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/17 1:05:42

基于Ralph-Loop构建高可靠异步数据处理循环:架构、实践与调优

1. 项目概述与核心价值最近在折腾一个很有意思的开源项目&#xff0c;叫scotm/ralph-loop。乍一看这个标题&#xff0c;你可能会有点懵&#xff0c;scotm是作者&#xff0c;ralph是项目名&#xff0c;那loop是啥&#xff1f;是循环播放器&#xff0c;还是某种事件循环框架&…

作者头像 李华
网站建设 2026/5/17 1:01:42

2026届必备的六大降重复率神器推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于内容创作范畴里&#xff0c;AIGC也就是&#xff08;人工智能生成内容&#xff09;工具的普…

作者头像 李华
网站建设 2026/5/17 0:59:33

5步解锁鼠标潜能:Mac Mouse Fix开源工具深度配置指南

5步解锁鼠标潜能&#xff1a;Mac Mouse Fix开源工具深度配置指南 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 你是否曾经为macOS鼠标滚轮的生…

作者头像 李华
网站建设 2026/5/17 0:55:12

原创文档:基于深度学习的智能职业匹配系统设计与实现

摘要&#xff1a;随着就业市场的快速发展和职业选择的多样化&#xff0c;求职者面临着如何在海量职位信息中找到最匹配岗位的挑战。传统的职业推荐系统主要依赖关键词匹配和规则引擎&#xff0c;难以深入理解求职者技能与职位需求之间的语义关联。本文提出了一种基于Transforme…

作者头像 李华
网站建设 2026/5/17 0:52:43

Vim缓冲区管理利器switch.vim:模糊查找与高效切换实践

1. 项目概述&#xff1a;一个被低估的Vim缓冲区管理利器如果你是一个Vim或Neovim的深度用户&#xff0c;每天在几十个文件之间来回切换&#xff0c;那么你一定对:ls、:bnext、:bdelete这些命令又爱又恨。爱的是它们确实能帮你管理打开的缓冲区&#xff0c;恨的是这种管理方式在…

作者头像 李华