littleVGL学习笔记3——lv_conf配置文件常用配置项

本文详细介绍了littleVGL图形库的配置选项,包括分辨率、颜色深度、抗锯齿功能、刷新周期、输入设备轮询、Drag动作阈值、长按事件时间、alpha透明功能、内存对齐、主题和字体使能、文本编码以及控件使能,帮助开发者深入了解并定制littleVGL以适应不同项目需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.定义最大的液晶屏分辨率
  LV_HOR_RES_MAX用来设置液晶屏水平长度,LV_VER_RES_MAX用来设置液晶屏垂直长度。

2.定义颜色深度
  LV_COLOR_DEPTH配置项的值分别对应1,8,16,32,分别代表的格式为:1 byte per pixel, RGB233, RGB565, ARGB8888。littleVGL只支持这四种颜色深度,一般设置为16。

3.是否使能抗锯齿功能
  和此功能相关的配置项只有 1 个,为 LV_ANTIALIAS,它的默认值为 1,即默认是使能抗锯齿的,当设置为 0 时就禁止了抗锯齿功能,实际项目中,一般都是使能的,这样我们 UI 界面上的文字,线条,圆弧等元素就看不到毛刺现象了。

4.定义屏幕的刷新周期
  和此功能相关的配置项只有 1 个,为LV_DISP_DEF_REFR_PERIOD,它的默认值为 30ms,此值设置的过大的话,就可能会出现卡顿的现象,设置的过小的话,就会有点浪费性能,我们直接采用默认值就可以了,不用过多理会。

5.定义输入设备的轮询周期
  和此功能相关的配置项有 1 个,为 LV_INDEV_DEF_READ_PERIOD ,其默认值为 30ms,代表每隔 30ms 采样一次输入设备(比如键盘,触摸屏等)的状态。

6.定义 Drag 拖拽动作的阈值
  和此功能相关的配置项有 1 个,为 LV_INDEV_DEF_DRAG_LIMIT ,其默认值为 10 个像素,代表按住不放拖动 10 个像素以上才认为是一次有效的 Drag 拖拽动作。

7.定义长按事件的触发时间
  和此功能相关的配置项为LV_INDEV_DEF_LONG_PRESS_TIME ,其默认值为 400ms,代表按住某个控件 400ms 以上时,就会触发这个控件的长按事件。

8.定义长按重复事件的触发时间
  和此功能相关的配置项为LV_INDEV_DEF_LONG_PRESS_REP_TIME ,其默认值为100ms,代表当某个控件的长按事件触发之后,再继续按住此控件 100ms 以上,就会触发这个控件的长按重复事件。

9.是否使能图片的 alpha 透明功能
  和此功能相关的配置项有 1 个,为 LV_IMG_CF_ALPHA ,其默认值为 1,代表使能 alpha 透明功能,0 代表不使能。

10.显式定义内存对齐的大小
  和此功能相关的配置项 LV_ATTRIBUTE_MEM_ALIGN ,其默认值为空,因为当编译器使用-Os 进行优化时,可能会导致我们的数据不是以 4 或者 8 字节对齐的,此时我们可以显式定义进行字节对齐,如下所示:

#define LV_ATTRIBUTE_MEM_ALIGN __attribute__((aligned(4)))

11.是否使能 littleVGL 自带的主题
  和此功能相关的配置项有 9 个,为LV_THEME_LIVE_UPDATE, LV_USE_THEME_TEMPL,LV_USE_THEME_DEFAULT,LV_USE_THEME_ALIEN,LV_USE_THEME_NIGHT,LV_USE_THEME_MONO,LV_USE_THEME_MATERIAL, LV_USE_THEME_ZEN, LV_USE_THEME_NEMO
  其中 LV_THEME_LIVE_UPDATE 是用来是否允许在运行状态下切换主题风格的,而其他的 8 个配置项表示是否使能其对应的 8 个主题风格。

12.是否使能 littleVGL 自带的字体
  和此功能相关的配置项有 5 个,为 LV_FONT_ROBOTO_12, LV_FONT_ROBOTO_16,LV_FONT_ROBOTO_22,LV_FONT_ROBOTO_28, LV_FONT_UNSCII_8 分别对应 12 号,16 号,22号,28 号的 ROBOTO 字体和 8 号的 UNSCII 字体,这每一个字体都包含了 ASCII 和一些图标字体(Symbols),而且全都是 4bpp 抗锯齿的,设置为 1 就代表使能,设置为 0 就代表不使能。

13.定义文本的编码方式
和此功能相关的配置项有 1 个,为 LV_TXT_ENC, 此配置项有 2 个可选值,分别为LV_TXT_ENC_UTF8(默认值)和 LV_TXT_ENC_ASCII ,当我们要显示中文或者其他非 ascii码字符时,那么我们一定得设置为LV_TXT_ENC_UTF8,同时还得保证代码编辑器也是相应的 UTF8 编码。

14.是否使能 littleVGL 的某个控件
  举个例子,若想使能按钮控件:

#define LV_USE_BTN   1

  其他控件使能方式同理,不再赘述。

参考资源链接:[LVGL配置文件详解lv_conf.h(V7.9.1).pdf](https://wenku.csdn.net/doc/644bbe44ea0840391e55a3d9?utm_source=wenku_answer2doc_content) 为了深入理解如何在lvgl图形库中启用中文显示支持,建议首先查阅《LVGL配置文件详解lv_conf.h(V7.9.1).pdf》这份资料。该资料对lv_conf.h文件进行了全方位的解读,提供了配置lvgl以适应不同开发环境和需求的方法。 在lvgl中,启用中文显示支持首先需要确保字体文件被正确包含并设置为默认字体。在lv_conf.h配置文件中,你需要找到与字体相关的宏定义,并进行相应的修改。例如,如果你使用的是UTF-8编码的字库文件,你需要在lv_conf.h中定义`USE_LV_FONT_UTF8`宏。此外,可能还需要定义`USE_LV_GPU_NULL`宏,如果你的项目不需要GPU加速支持。 以下是修改lv_conf.h文件启用中文显示支持的一般步骤: 1. 确保你有一个支持中文字符的字体文件,如lv_font_chinese.c。 2. 在lv_conf.h中取消注释或添加如下宏定义: ```c #define USE_LV_FONT_UTF8 #define USE_LV_GPU_NULL // 如果不需要GPU加速 ``` 3. 将你的中文字体文件添加到项目中,并确保在lvgl初始化之前调用字体注册函数,例如: ```c lv_disp_drv_t disp_drv; /* 声明一个显示驱动器 */ lv_font_t * my_font; /* 声明一个字体变量 */ /* 在这里注册你的中文字体 */ my_font = &lv_font_chinese; /* 在显示驱动器设置中指定字体 */ lv_disp_drv_init(&disp_drv); disp_drv.font_default = my_font; lv_disp_drv_register(&disp_drv); ``` 4. 初始化lvgl库,并创建一个简单的用户界面来测试中文显示是否成功。 通过上述步骤,你可以将lvgl配置为支持中文显示。更多详细信息和高级配置技巧,可以参考《LVGL配置文件详解lv_conf.h(V7.9.1).pdf》。这份资源将帮助你全面掌握lv_conf.h的配置方法,确保你的图形用户界面库能够按照你的需求高效运行。 参考资源链接:[LVGL配置文件详解lv_conf.h(V7.9.1).pdf](https://wenku.csdn.net/doc/644bbe44ea0840391e55a3d9?utm_source=wenku_answer2doc_content)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾贾乾杯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值