添加tlv组件
一、TLV组件介绍
为提升 TLV 组件的配置管理效率与项目适配灵活性,我们构建了动态可裁剪的组件管理机制。该机制允许根据项目需求灵活增减组件配置,通过 TLV 框架内统一的标准化接口,实现对消息模块、堆叠功能、快捷栏及侧边导航栏等核心组件的高效管理,从而显著增强系统的可扩展性与适配能力,满足不同项目场景的多样化需求。
二、TLV组件框架
TLV组件框架已在 solution\framework\gui_fwk\tlv_fwk.c 实现,主要接口及说明如下
1、组件状态
组件状态主要用于状态机的转换,状态的改变只能按指定的状态机切换。同平铺状态机
enum
{
TLV_STATE_STARTED, /**< start a tileview application */
TLV_STATE_RESUMED, /**< activate a tileview application */
TLV_STATE_PAUSED, /**< pause a tileview application */
TLV_STATE_STOPED, /**< destory a tileview application */
};
状态机切换函数
int tlv_comp_change_state(const char *id, lv_obj_t *parent, tlv_state_t state);
2、注册组件
static void on_start(void *param)
{
p_notify = (notification_t *)app_calloc(1, sizeof(notification_t));
RT_ASSERT(p_notify);
p_notify->parent = TLV_COMP_GET_PARENT;
}
static void on_resume(void *param)
{
}
static void on_pause(void *param)
{
}
static void on_stop(void *param)
{
p_notify = NULL;
}
TLV_COMPONENT_REGISTER(notify);
三、内置TLV组件
TLV组件框架以适配一下组件,不同项目可进行个性化适配,不需要时直接删掉相应目录或去掉相应的宏配置。
1、消息模块

2、堆叠功能

3、快捷栏

4、侧边导航栏
