diff --git a/tuku/ui/library/library.c b/tuku/ui/library/library.c index 28fcdf3..50b69e4 100644 --- a/tuku/ui/library/library.c +++ b/tuku/ui/library/library.c @@ -408,6 +408,9 @@ static void list_rebuild(void) meow_listview_set_vsource(g_lv, lib_count, lib_bind, NULL); meow_listview_set_item_renderer(g_lv, 2, 1, 1); meow_listview_set_item_tier(g_lv, 2); + /* SDK 默认 container=0(扁平满幅+分隔线);显式开 MD3 容器模式: + * 每行 surfaceContainer 圆角卡 + 行间空隙 + 卡内 tonal 选中。 */ + meow_listview_set_container(g_lv, 1); meow_listview_set_empty_text(g_lv, "No folders with PNG/JPEG/BMP"); g_scroll = meow_scroll_wrap(g_lv, 1); diff --git a/tuku/ui/lock/lock.c b/tuku/ui/lock/lock.c index 0fd5626..a188f10 100644 --- a/tuku/ui/lock/lock.c +++ b/tuku/ui/lock/lock.c @@ -2,6 +2,16 @@ * * M5 在此实现「APP 启动 PIN」:lock_view_should_show() 读配置决定是否锁, * 锁屏页负责 PIN 输入/校验后 page_pop 回书库。本批桩恒返回 0(不锁),页面仅可编译占位。 + * + * 接缝注意(M5): + * ① meow_view 的 on_create 在 meow_view_create 内运行(此时 activity 栈空);本页是非根页, + * 控件必须 lazy 到 on_enter 建,或照 hello demo_init 的模式 + * meow_ui_activity_push(ACT_LOCK) → 建控件 → meow_ui_activity_pop() + * (examples/hello/ui/demo/demo.c:515-522);否则 owner 绑到 ACT_LIBRARY, + * 锁屏控件会从书库页被命中(§6.1 跨页泄漏)。 + * ② 锁屏必须经自身 view 的 on_event 消费 SWIPE:meow_view_dispatch_event 先于 App 的 + * on_swipe(sdk/meow_ui_view.h:83-88);否则 app.c 对非 library 页的左缘滑动无条件 + * page_pop,PIN 会被绕过。 */ #include "tuku_internal.h" diff --git a/tuku/ui/reader/reader.c b/tuku/ui/reader/reader.c index 1e2ebe6..33de900 100644 --- a/tuku/ui/reader/reader.c +++ b/tuku/ui/reader/reader.c @@ -4,6 +4,12 @@ * - 书库经 mr_reader_open_dir(path) 导航进来(app.c/library.c 不改); * - 方向状态走 logic/reader 的 mr_reader_get/set_direction(默认 RTL)。 * 绘制走 view on_draw(注册表驱动),主题切换由 app.c 的 listener invalidate 全屏重画。 + * + * 接缝注意(M4):meow_view 的 on_create 在 meow_view_create 内运行(此时 activity 栈空), + * 本页是非根页——控件必须 lazy 到 on_enter 建,或照 hello demo_init 的模式 + * meow_ui_activity_push(ACT_READER) → 建控件 → meow_ui_activity_pop() + * (examples/hello/ui/demo/demo.c:515-522);否则控件 owner 绑到 ACT_LIBRARY, + * 造成跨页命中/绘制泄漏(§6.1)。 */ #include "tuku_internal.h" diff --git a/tuku/ui/settings/settings.c b/tuku/ui/settings/settings.c index 57e1a4f..ef92ca2 100644 --- a/tuku/ui/settings/settings.c +++ b/tuku/ui/settings/settings.c @@ -2,6 +2,12 @@ * * M5 在此实现 APP 启动 PIN 等设置项;本批只落可编译桩,入口为书库 TopAppBar ⚙。 * 返回:左缘返回(app.c SWIPE_LEFT → page_pop)。 + * + * 接缝注意(M5):meow_view 的 on_create 在 meow_view_create 内运行(activity 栈空); + * 本页是非根页,控件必须 lazy 到 on_enter 建,或照 hello demo_init 的模式 + * meow_ui_activity_push(ACT_SETTINGS) → 建控件 → meow_ui_activity_pop() + * (examples/hello/ui/demo/demo.c:515-522);否则 owner 绑到 ACT_LIBRARY,设置控件会从 + * 书库页被命中(§6.1 跨页泄漏)。 */ #include "tuku_internal.h"