运行环境
- ESP32-S2
- 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]*/
未完待续