How to prevent a lv_tabview content from horizontally scrolling


What MCU/Processor/Board and compiler are you using?

codeblocks simulator on Windows with MinGW

What LVGL version are you using?


What do you want to achieve?

On my embedded platform, I use a horizontal tabview. Sometimes, I slightly drag to the side I touch the buttons. This has the effect of dragging the whole page in the tabview. I like to solely navigate by pressing on the horizontal tabs on the top. I like to disable the horizontal scrolling completely. I am testing the below code in the codeblocks simulator on Windows.
Advice please? Thanks.

What have you tried so far?

The below code has no effect.

lv_obj_clear_flag( (tabview), LV_OBJ_FLAG_SCROLLABLE);

I also tried

lv_obj_set_scrollable(lv_tabview_get_content(tabview), LV_DIR_HOR, false);*

and I get this compiler error:
undefined reference to lv_obj_set_scrollable

Code to reproduce

The code block(s) should be formatted like:

 void lv_example_tabview_100(void)
    /*Create a Tab view object*/
    lv_obj_t * tabview;
    tabview = lv_tabview_create(lv_scr_act(), LV_DIR_TOP, 50);

    /*Add 3 tabs (the tabs are page (lv_page) and can be scrolled*/
    lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1");
    lv_obj_t * tab2 = lv_tabview_add_tab(tabview, "Tab 2");
    lv_obj_t * tab3 = lv_tabview_add_tab(tabview, "Tab 3");

    /*Add content to the tabs*/
    lv_obj_t * label = lv_label_create(tab1);
    lv_label_set_text(label, "This the first tab\n\n"
                      "If the content\n"
                      "of a tab\n"
                      "becomes too\n"
                      "than the\n"
                      "then it\n"
                      "Can you see it?");

    label = lv_label_create(tab2);
    lv_label_set_text(label, "Second tab");

    label = lv_label_create(tab3);
    lv_label_set_text(label, "Third tab");

    lv_obj_scroll_to_view_recursive(label, LV_ANIM_ON);

        /*lv_obj_set_scrollable(lv_tabview_get_content(tabview), LV_DIR_HOR, false);*/
    lv_obj_clear_flag( (tabview), LV_OBJ_FLAG_SCROLLABLE);


Screenshot and/or video

If possible, add screenshots and/or videos about the current state.

I found the answer at:

My code has to be changed to
lv_obj_clear_flag(lv_tabview_get_content(tabview), LV_OBJ_FLAG_SCROLLABLE);

lv_obj_clear_flag(lv_tabview_get_content(tabview_mid), LV_OBJ_FLAG_SCROLL_CHAIN | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_ONE);

Also the objects in the tabview should be non scrollable
lv_obj_clear_flag(o_tab, LV_OBJ_FLAG_SCROLLABLE);

Thanks. I will put all those flags.