Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-09-27 14:45:19 +08:00
parent c7e3d9dbc1
commit 670f788558
8 changed files with 135 additions and 79 deletions

View File

@@ -6,6 +6,7 @@ import 'package:PiliPlus/pages/common/slide/common_slide_page.dart';
import 'package:PiliPlus/pages/video/controller.dart';
import 'package:PiliPlus/plugin/pl_player/controller.dart';
import 'package:PiliPlus/utils/duration_utils.dart';
import 'package:extended_nested_scroll_view/extended_nested_scroll_view.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -78,16 +79,19 @@ class _ViewPointsPageState extends State<ViewPointsPage>
}
late Key _key;
late bool _isNested;
@override
void didChangeDependencies() {
super.didChangeDependencies();
_key = ValueKey(PrimaryScrollController.of(context).hashCode);
final controller = PrimaryScrollController.of(context);
_isNested = controller is ExtendedNestedScrollController;
_key = ValueKey(controller.hashCode);
}
@override
Widget buildList(ThemeData theme) {
return ListView.builder(
final child = ListView.builder(
key: _key,
physics: const AlwaysScrollableScrollPhysics(),
padding: EdgeInsets.only(
@@ -109,6 +113,13 @@ class _ViewPointsPageState extends State<ViewPointsPage>
return _buildItem(theme, segment, isCurr);
},
);
if (_isNested) {
return ExtendedVisibilityDetector(
uniqueKey: const Key('viewpoints'),
child: child,
);
}
return child;
}
Widget _buildItem(ThemeData theme, Segment segment, bool isCurr) {