上一张lvgl 自定义组件介绍二中介绍了组件的创建,这一章主要是介绍组件如何在页面中使用以及退出页面后怎么销毁。
在使用组件前需要把组件的公共文件在项目的入口文件中注册,例如项目中有一个ui的入口文件,可以在ui.h 文件中引入 #include "components/ui_comp.h"。类似:
然后在创建组件,而创建组件又包含了两种方式,一种是静态创建,就是说项目初始化的时候就创建好的,不会因为页面切换而导致消失,其好处就是页面的加载速度会更快;还有一种就是动态创建的方式,在lvgl 动态创建控件文章中也有介绍。
1、静态创建的方式:
void page_init(void)
{
ui_page = lv_obj_create(NULL);
lv_obj_remove_style_all(ui_page);
lv_obj_set_size(ui_page, lv_pct(100), lv_pct(100));
lv_obj_set_style_bg_color(ui_page, lv_color_hex(0x262626), LV_PART_MAIN);
lv_obj_set_style_bg_opa(ui_page, 255, LV_PART_MAIN);
lv_obj_t* ui_main = lv_obj_create(ui_page);
lv_obj_remove_style_all(ui_main);
lv_obj_set_size(ui_main, 300, 300);
lv_obj_set_style_bg_color(ui_main, lv_color_hex(0xffffff), LV_PART_MAIN);
lv_obj_set_style_bg_opa(ui_main, 255, LV_PART_MAIN);
lv_obj_center(ui_main);
// 组件静态创建
ui_Switchformated_create(ui_main);
}
这种方式创建是销毁不了组件的因为是静态创建好的。
2、动态创建的方式:
动态方式创建需要结合lvgl 页面生命周期,要监听页面的创建函数,和页面的销毁函数,然后在创建的时候创建组件,在销毁页面的时候清除组件的父节点。
以上就是lvgl组件在页面上的使用方式,可以根据项目的具体情况来选择是动态创建适合还是静态创建适合;下一章将会讲述lvgl 组件一些样式数据的抽离,使组件不局限于当前项目使用,可以适合不同的项目,实现类似前端的element ui库。