请问LVGL 如何设置滚动模式为非循环滚动

怎么设置成滚动到最后一个object后不能再往下滚动,只能往上滚动,而不是直接循环回到第一个object

不清楚你的代码和效果,你可以参考:

[Scroll(滚动) — 百问网LVGL中文教程文档 文档]
在这个例子中,按TAB键,聚焦框会从button0开始往下跳,到button19后再按TAB就会回到button0,我想实现的是:当聚焦到最后一个button时,再按TAB键不要让它跳到button0,也就是不让它循环聚焦

请先阅读了解lvgl的group: http://lvgl.100ask.net/8.2/overview/indev.html?highlight=group#groups

可以加一个判断,如果聚焦的是第一个btn则不能通过 LV_KEY_PREV 聚焦到最后一个btn;反之,如果当前聚焦的是最后一个btn,则不能通过 LV_KEY_NEXT 聚焦到第一个btn。

限制聚焦的方法可以通过 lv_group_focus_obj 实现。

感谢,找到设置接口了

/**
 * Set whether focus next/prev will allow wrapping from first->last or last->first object.
 * @param group         pointer to group
 * @param               en true: wrapping enabled; false: wrapping disabled
 */
void lv_group_set_wrap(lv_group_t * group, bool en);
1 个赞