feat(menu): make menu widget more compatible with encoder (#3061)

This commit is contained in:
HX2003
2022-03-10 21:03:38 +08:00
committed by GitHub
parent 688421bc10
commit bc94b4de52
2 changed files with 8 additions and 2 deletions

View File

@@ -1079,11 +1079,11 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj)
lv_obj_add_style(obj, &styles->menu_pressed, LV_STATE_PRESSED);
lv_obj_add_style(obj, &styles->bg_color_primary_muted, LV_STATE_PRESSED | LV_STATE_CHECKED);
lv_obj_add_style(obj, &styles->bg_color_primary_muted, LV_STATE_CHECKED);
lv_obj_add_style(obj, &styles->bg_color_primary, LV_STATE_FOCUS_KEY);
}
else if(lv_obj_check_type(obj, &lv_menu_sidebar_header_cont_class) ||
lv_obj_check_type(obj, &lv_menu_main_header_cont_class)) {
lv_obj_add_style(obj, &styles->menu_header_cont, 0);
lv_obj_add_style(obj, &styles->menu_pressed, LV_STATE_PRESSED);
}
else if(lv_obj_check_type(obj, &lv_menu_page_class)) {
lv_obj_add_style(obj, &styles->menu_page, 0);

View File

@@ -360,8 +360,9 @@ void lv_menu_set_load_page_event(lv_obj_t * menu, lv_obj_t * obj, lv_obj_t * pag
{
LV_ASSERT_OBJ(menu, MY_CLASS);
/* Make the object clickable */
lv_obj_add_flag(obj, LV_OBJ_FLAG_CLICKABLE);
lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_ON_FOCUS);
/* Remove old event */
if(lv_obj_remove_event_cb(obj, lv_menu_load_page_event_cb)) {
@@ -683,6 +684,11 @@ static void lv_menu_load_page_event_cb(lv_event_t * e)
}
lv_menu_set_page((lv_obj_t *)menu, page);
if(lv_group_get_default() != NULL && menu->sidebar_page == NULL) {
/* Sidebar is not supported for now*/
lv_group_focus_next(lv_group_get_default());
}
}
static void lv_menu_obj_del_event_cb(lv_event_t * e)