Lvgl 使用笔记:
提示:这是记录笔记,不是教程.
1.标签样式设计:
void lv_text_style_test()
{
static lv_style_t style;
lv_style_init(&style); // 样式初始化
lv_style_reset(&style); // 重置样式
lv_style_set_radius(&style, 5); // 设置样式圆角
lv_style_set_bg_opa(&style, LV_OPA_COVER); // 设置样式背景透明度
lv_style_set_bg_color(&style, lv_palette_lighten(LV_PALETTE_GREY, 2)); // 设置样式背景颜色
lv_style_set_border_width(&style, 2); // 设置边框宽度
lv_style_set_border_color(&style, lv_palette_main(LV_PALETTE_RED)); // 设置样式边框颜色
lv_style_set_pad_all(&style, 10); // 设置样式内部padding填充值
lv_style_set_text_color(&style, lv_palette_main(LV_PALETTE_BLUE)); // 设置样式文本颜色
lv_style_set_text_letter_space(&style, 5); // 设置样式文本字符间隔
lv_style_set_text_line_space(&style, 20); // 设置样式文本行间距
lv_style_set_text_decor(&style, LV_TEXT_DECOR_UNDERLINE); // 设置样式文本带下划线
lv_obj_t * obj = lv_label_create(lv_scr_act());
if (obj != NULL)
{
lv_obj_add_style(obj, &style, 0);
lv_label_set_text(obj, " Text of\n a label\n Hello World");
lv_obj_center(obj);
}
}
2.gif图片取模
3.在esp32上显示gif图片
注意:我实测ESP32C3,gif大小 < 70*70像素的才可以正常显示
解决方法如下:
例程程序
void demo_gif(void)
{
LV_IMG_DECLARE(spaceman_pin);
lv_obj_t *img;
lv_obj_t *obj = lv_scr_act();
lv_obj_set_style_bg_color(obj, lv_color_hex(0x000000), 0); // 0x000000 = 黑色
img = lv_gif_create(obj);
lv_gif_set_src(img, &spaceman_pin);
lv_obj_align(img, LV_ALIGN_CENTER, 0, 0);
}
3.1.解决只能显示60*60以下gif问题
将LV_MEM_CUSTOM 宏定义改为 1 ------- mem malloc打开
define LV_MEM_CUSTOM 1
4.隐藏滚动条
lv_obj_remove_style(lv_scr_act(), NULL, LV_PART_SCROLLBAR);