LVGL学习笔记

本文介绍了如何在ESP32-S2平台上使用LVGL库进行界面定制,包括修改主题色、字体,调整刷新周期、长按事件时长,显示性能指标,以及优化显示缓冲区和DPI设置。详尽讲解了lv_conf.h配置选项的重要性和实践应用。
摘要由CSDN通过智能技术生成

运行环境

  1. ESP32-S2
  2. LVGL v7.11

正文

写几点备忘,慢慢补充
lv_conf.h 中的参数还有很多,多看看

1. 修改控件默认主题色

修改lv_conf.h文件中的宏定义:
LV_THEME_DEFAULT_COLOR_PRIMARY
LV_THEME_DEFAULT_COLOR_SECONDARY
分别为主颜色和次颜色;

2. 修改默认字体

修改lv_conf.h文件中的宏定义:
LV_THEME_DEFAULT_FONT_SMALL
LV_THEME_DEFAULT_FONT_NORMAL
LV_THEME_DEFAULT_FONT_SUBTITLE
LV_THEME_DEFAULT_FONT_TITLE
不多说;

3. 修改帧率刷新周期

/* @file: lv_conf.h */

/* Default display refresh period.
 * Can be changed in the display driver (`lv_disp_drv_t`).*/
#define LV_DISP_DEF_REFR_PERIOD      30      /*[ms]*/

LVGL会通过内部的tick,定时去刷屏幕,
这里的30即1000ms/30ms=33FPS,
这个宏定义限定了LVGL刷屏帧率的上限,默认满帧33帧;

4. 修改控件长按触发事件的时长

/* @file: lv_conf.h */

/* Long press time in milliseconds.
 * Time to send `LV_EVENT_LONG_PRESSSED`) */
#define LV_INDEV_DEF_LONG_PRESS_TIME      400

默认400ms;

4. 显示右下角FPS和CPU占用

/* @file: lv_conf.h */

/*1: Show CPU usage and FPS count in the right bottom corner*/
#define LV_USE_PERF_MONITOR     0

置1打开右下角显示;

5. 刷新画面的最小区块

画面会被拆分成buffer的size大小,分块刷新,
当只有局部刷新时,
比如点击了一个按钮,按钮变高亮,那么它就只刷局部画面,

lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * LV_VER_RES_MAX / 10);    /*Initialize the display buffer*/

官方推荐 1/10 screen size 大小,拆分太小,刷屏接口又慢的话,不仅帧率低,显示效果也肉眼可见的卡顿;

6. 修改DPI设置

DPI(Dots Per Inch) 每英寸点数, 在LVGL中可能会影响动画质量
需要手动计算,例如128x128分辨率1.44英寸的屏幕,那么 DPI = ((√128*128) / 1.44) ≈ 89

#define LV_DPI_DEF                  89     /*[px/inch]*/

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值