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

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

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

你可能感兴趣的:(嵌入式,gui,开发)