关于 lv_obj_t* scr = lv_obj_create(lv_scr_act());创建的scr,无法触发手势事件问题

各位老师好:

遇到一个无法触发手势事件的问题,代码如下:
lv_obj_t* scr = lv_obj_create(lv_scr_act());
lv_obj_clear_flag(lv_scr_act(), LV_OBJ_FLAG_EVENT_BUBBLE);
lv_obj_add_event_cb(scr, cb, LV_EVENT_GESTURE, NULL);
这段代码中,用鼠标去滑scr,是无法触发手势事件的。

但如果这样写:
lv_obj_t* scr = lv_obj_create(NULL);
lv_scr_load(scr);
lv_obj_add_event_cb(scr, cb, LV_EVENT_GESTURE, NULL);
这样可以触发手势事件,但是这样的写法会在原有的代码基础上产生别的问题。

所以请问大家,第一种写法如何才能让scr产生手势事件?

给创建的obj加个lv_obj_add_flag(obj, LV_OBJ_FLAG_CLICKABLE);试试