在lvgl 中,也有类似前端h5的事件类型这一属性,但其包含更多种不同的事件类型,以下介绍的为经常用的事件类型。
在lvgl中需要监听事件,需要用到lv_obj_add_event_cb函数,其主要包含了以下一些参数:
_lv_event_dsc_t * lv_obj_add_event_cb(lv_obj_t * obj, lv_event_cb_t event_cb, lv_event_code_t filter, void * user_data);
lv_obj_t * obj // 事件绑定的对象
lv_event_cb_t event_cb // 事件的处理函数,通常是自己需要事件实现的效果的执行函数
lv_event_code_t filter // 监听的事件类型code,如:点击、长按等等
void * user_data // 事件需要传入的用户自定义数据
本文主要讲述lv_event_code_t 的常用种类,以及如果需要监听多种事件类型时如何监听事件类型
1、LV_EVENT_CLICKED // 点击事件
2、LV_EVENT_KEY // 按键事件
3、LV_EVENT_SCROLL // 滚动事件,其监听的是正在滚动的状态,还有LV_EVENT_SCROLL_BEGIN,滚动开始;LV_EVENT_SCROLL_END,滚动结束。
4、LV_EVENT_GESTURE // 手势事件,主要用于页面手势切换
5、LV_EVENT_VALUE_CHANGED // 值变化事件,主要是switch、radio、button这种有多种形态的组件使用
6、LV_EVENT_LONG_PRESSED // 长按事件,主要用于页面解锁,进入内部功能时的场景
7、LV_EVENT_ALL // 全部事件,主要用于需要同时监听多个不同事件类型时,可以直接监听此事件类型,然后在回调函数里再分类处理。
以上就是经常用到的事件类型,除此之外还有几个页面生命周期的类型,在lvgl 页面生命周期介绍_lvgl vue-CSDN博客也有介绍。