lvgl page左右滑动和左右手势冲突,会卡顿
时间: 2024-01-26 11:42:05 浏览: 160
LVGL的page控件本身就支持左右滑动,因此如果与左右手势冲突,很可能会导致卡顿。解决这个问题的方法之一是禁用掉左右手势,只保留垂直手势。你可以使用`lv_indev_set_group()`函数来设置输入设备组,将所有的输入设备都加入到同一组中,然后禁用掉水平手势。具体代码如下:
```c
/* 创建输入设备组 */
lv_indev_group_t *group = lv_indev_group_create();
/* 将所有的输入设备加入到组中 */
lv_indev_t *indev;
indev = lv_indev_get_next(NULL); /* 获取第一个输入设备 */
while (indev) {
lv_indev_group_add(group, indev);
indev = lv_indev_get_next(indev); /* 获取下一个输入设备 */
}
/* 禁用水平手势 */
lv_indev_set_gesture_handler(group, LV_GESTURE_PINCH, NULL);
lv_indev_set_gesture_handler(group, LV_GESTURE_ROTATE, NULL);
lv_indev_set_gesture_handler(group, LV_GESTURE_SWIPE_LEFT, NULL);
lv_indev_set_gesture_handler(group, LV_GESTURE_SWIPE_RIGHT, NULL);
```
这样就可以禁用掉所有的水平手势,避免与page控件的左右滑动冲突。
阅读全文