fix(player): 保持清屏并常驻中心按钮

This commit is contained in:
Zhou Weidong committed 2026-10-19 17:14:03 +08:00
1 parent bc5feebf39
commit 0d977da75b
2 files changed
+171 -51

No files matched your search

+16 -23
View File
@@ -128,9 +128,6 @@ class _PlayerPageState extends State<PlayerPage> with WidgetsBindingObserver {
itemCount: indices.length,
onPageChanged: (position) {
final index = indices[position];
if (widget.homeMode && !_feedChromeVisible) {
setState(() => _feedChromeVisible = true);
}
widget.onDramaChanged?.call(logic.queue.entryAt(index).drama);
unawaited(logic.selectEpisode(index));
},
@@ -221,18 +218,6 @@ class _PlayerPageState extends State<PlayerPage> with WidgetsBindingObserver {
logic.session.setUserWantsPlay(!logic.session.userWantsPlay),
),
),
if (widget.homeMode &&
_feedChromeVisible &&
!logic.chromeHidden &&
selected &&
!logic.session.userWantsPlay)
Center(
child: PlayerCenterToggle(
key: const Key('home-feed-center-play'),
playing: false,
onTap: () => logic.session.setUserWantsPlay(true),
),
),
// 票据三态之一:起播前正在向后端要签名地址
if (selected && logic.ticketLoading)
const Center(
@@ -466,6 +451,15 @@ class _PlayerPageState extends State<PlayerPage> with WidgetsBindingObserver {
),
),
),
if (widget.homeMode && !logic.chromeHidden && selected)
Center(
child: PlayerCenterToggle(
key: const Key('home-feed-center-play'),
playing: logic.session.userWantsPlay,
onTap: () =>
logic.session.setUserWantsPlay(!logic.session.userWantsPlay),
),
),
],
);
}
@@ -669,14 +663,6 @@ class _PlaybackOverlayState extends State<_PlaybackOverlay> {
Expanded(
child: Stack(
children: [
if (!widget.playing)
Center(
child: PlayerCenterToggle(
key: const Key('player-play-toggle'),
playing: false,
onTap: widget.onTogglePlay,
),
),
const Positioned(
right: 10,
bottom: 14,
@@ -787,6 +773,13 @@ class _PlaybackOverlayState extends State<_PlaybackOverlay> {
onPressed: () => setState(() => _controlsVisible = true),
),
),
Center(
child: PlayerCenterToggle(
key: const Key('player-play-toggle'),
playing: widget.playing,
onTap: widget.onTogglePlay,
),
),
],
),
);