fix(tabview) fix tab position on resize

This commit is contained in:
Gabor Kiss-Vamosi
2021-05-19 21:56:40 +02:00
parent 97282e67bd
commit 37d0471698

View File

@@ -126,6 +126,7 @@ void lv_tabview_set_act(lv_obj_t * obj, uint32_t id, lv_anim_enable_t anim_en)
lv_obj_update_layout(obj);
lv_obj_t * cont = lv_tabview_get_content(obj);
if(cont == NULL) return;
lv_coord_t gap = lv_obj_get_style_pad_column(cont, LV_PART_MAIN);
lv_coord_t w = lv_obj_get_content_width(obj);
lv_obj_scroll_to_x(cont, id * (gap + w), anim_en);
@@ -246,11 +247,12 @@ static void lv_tabview_event(const lv_obj_class_t * class_p, lv_event_t * e)
lv_event_code_t code = lv_event_get_code(e);
lv_obj_t * target = lv_event_get_target(e);
if(code == LV_EVENT_SIZE_CHANGED) {
if(code == LV_EVENT_SIZE_CHANGED || LV_EVENT_CHILD_CHANGED) {
lv_tabview_set_act(target, lv_tabview_get_tab_act(target), LV_ANIM_OFF);
}
}
static void btns_value_changed_event_cb(lv_event_t * e)
{
lv_obj_t * btns = lv_event_get_target(e);