fix(launcher): M6.29 播放页任意右滑返回桌面(回退出np_gesture) — 推卡
This commit is contained in:
1 parent
0da68e4972
commit
a3679e3688
2 files changed
+5
-5
No files matched your search
@@ -1,7 +1,7 @@
|
||||
/* np_gesture.h — Now Playing 双页手势方向感知(header-only 纯逻辑,宿主可单测)。
|
||||
*
|
||||
* 定案(用户,批4):Now Playing 同一容器两页——播放页 + 歌词页,手势按当前页方向感知:
|
||||
* - 播放页:右→左滑 → 进歌词页;左缘右滑 → 回桌面(保留 M6.26 语义)。
|
||||
* - 播放页:右→左滑 → 进歌词页;任意右滑 → 回桌面(用户拍板保留任意右滑)。
|
||||
* - 歌词页:左→右滑 → 回播放页(不是回桌面);左缘右滑不接桌面(避免误退)。
|
||||
* 本头为 now_playing.c 与宿主单测(test_now_playing_widgets.c)共用的唯一手势决策,避免两端漂移。
|
||||
*
|
||||
@@ -24,7 +24,7 @@ typedef enum {
|
||||
NP_GEST_TOP, /* 顶部热区下滑 → 打开通知中心 */
|
||||
NP_GEST_NEXT, /* 播放页 右→左滑 → 进入歌词页 */
|
||||
NP_GEST_PREV, /* 歌词页 左→右滑 → 回到播放页 */
|
||||
NP_GEST_EXIT, /* 播放页 左缘右滑 → 返回桌面 */
|
||||
NP_GEST_EXIT, /* 播放页 任意右滑 → 返回桌面 */
|
||||
NP_GEST_TAP, /* 近点按(按当前页分派:播放页=按钮/进度看点) */
|
||||
} np_gest_t;
|
||||
|
||||
@@ -69,9 +69,9 @@ static inline np_gest_t np_gesture_decide(int page, int down_x, int down_y, int
|
||||
/* 横向主导(adx>=NP_PAGE_SWIPE 且横向位移>竖向)→ 按当前页分流切页/返回 */
|
||||
if (adx >= NP_PAGE_SWIPE && adx > ady) {
|
||||
if (page == NP_PAGE_PLAY) {
|
||||
if (np_edge_back(down_x, dx, dy)) return NP_GEST_EXIT; /* 左缘右滑 → 回桌面 */
|
||||
if (dx >= NP_PAGE_SWIPE) return NP_GEST_EXIT; /* 任意右滑 → 回桌面(含左缘/非左缘;用户拍板保留任意右滑) */
|
||||
if (dx <= -NP_PAGE_SWIPE) return NP_GEST_NEXT; /* 右→左滑 → 进歌词页 */
|
||||
return NP_GEST_NONE; /* 非左缘右滑=播放页无上一页,忽略 */
|
||||
return NP_GEST_NONE; /* 其余忽略 */
|
||||
} else { /* NP_PAGE_LYRIC */
|
||||
if (dx >= NP_PAGE_SWIPE) return NP_GEST_PREV; /* 左→右滑 → 回播放页(含左缘,不接桌面) */
|
||||
return NP_GEST_NONE; /* 右→左滑=歌词页是末页,忽略 */
|
||||
|
||||
Reference in new issue
Block a user