fix: clear default clickable flag on temp_view/status_view to unblock mode toggle
LVGL's base obj is clickable by default (lv_obj_create sets LV_OBJ_FLAG_CLICKABLE unconditionally). As full-screen, topmost siblings of mode_toggle, temp_view and status_view were silently capturing every tap over the toggle bar via lv_obj_hit_test before the touch search could reach mode_toggle underneath, even though they have no on_click of their own. Confirmed via generated C++ (lv_obj_remove_flag ... LV_OBJ_FLAG_CLICKABLE) and hardware testing.
This commit is contained in:
parent
4111f11b04
commit
91f47be62a
1 changed files with 8 additions and 0 deletions
|
|
@ -103,6 +103,13 @@ lvgl:
|
|||
outline_width: 0
|
||||
scrollable: false
|
||||
bg_opa: transp
|
||||
# LVGL's base obj is clickable by default (obj->flags = LV_OBJ_FLAG_CLICKABLE in
|
||||
# lv_obj_create) and lv_obj_hit_test() requires that flag before checking geometry.
|
||||
# Being a full-screen, topmost sibling of mode_toggle, this container was silently
|
||||
# swallowing every tap over the toggle bar (no on_click, so nothing visibly happened)
|
||||
# before the touch search could reach mode_toggle underneath — same z-order class of
|
||||
# bug as the bg_opa fix above, but for touch capture instead of rendering.
|
||||
clickable: false
|
||||
widgets:
|
||||
- arc:
|
||||
id: dial_bg_arc
|
||||
|
|
@ -277,6 +284,7 @@ lvgl:
|
|||
outline_width: 0
|
||||
scrollable: false
|
||||
bg_opa: transp
|
||||
clickable: false # see temp_view comment above — same touch-capture fix
|
||||
layout:
|
||||
type: flex
|
||||
flex_flow: column
|
||||
|
|
|
|||
Loading…
Reference in a new issue