diff --git a/lib/pages/member_video/controller.dart b/lib/pages/member_video/controller.dart index 5e15d0a41..ee78c8421 100644 --- a/lib/pages/member_video/controller.dart +++ b/lib/pages/member_video/controller.dart @@ -6,7 +6,6 @@ import 'package:PiliPlus/models/space_archive/data.dart'; import 'package:PiliPlus/models/space_archive/episodic_button.dart'; import 'package:PiliPlus/models/space_archive/item.dart'; import 'package:PiliPlus/pages/common/common_list_controller.dart'; -import 'package:PiliPlus/pages/member/controller.dart'; import 'package:PiliPlus/utils/extension.dart'; import 'package:PiliPlus/utils/id_utils.dart'; import 'package:PiliPlus/utils/page_utils.dart'; @@ -46,7 +45,7 @@ class MemberVideoCtr bool? hasPrev; String? heroTag; - late final MemberController _ctr = Get.find(tag: heroTag); + // late final MemberController _ctr = Get.find(tag: heroTag); @override Future onRefresh() async { @@ -227,11 +226,10 @@ class MemberVideoCtr @override Future onReload() { isLocating.value = null; - if (_ctr.key.currentState?.outerController.hasClients == true) { - if (_ctr.key.currentState!.outerController.offset > _ctr.offset) { - _ctr.key.currentState!.outerController.jumpTo(_ctr.offset.toDouble()); - } - } + // if (_ctr.key.currentState?.outerController.hasClients == true) { + // _ctr.key.currentState!.outerController + // .jumpTo(_ctr.key.currentState!.outerController.offset); + // } return super.onReload(); } } diff --git a/lib/pages/member_video/view.dart b/lib/pages/member_video/view.dart index f86fab08f..40d7a1476 100644 --- a/lib/pages/member_video/view.dart +++ b/lib/pages/member_video/view.dart @@ -121,7 +121,7 @@ class _MemberVideoState extends State (context, index) { return const VideoCardHSkeleton(); }, - childCount: 10, + childCount: 4, ), ), ), diff --git a/lib/pages/video/controller.dart b/lib/pages/video/controller.dart index 28fc084b2..305f24b0a 100644 --- a/lib/pages/video/controller.dart +++ b/lib/pages/video/controller.dart @@ -131,6 +131,16 @@ class VideoDetailController extends GetxController max(max(Get.height, Get.width) * 0.65, min(Get.height, Get.width)); late double videoHeight = minVideoHeight; + void animToTop() { + if (scrollKey.currentState?.outerController.hasClients == true) { + scrollKey.currentState!.outerController.animateTo( + scrollKey.currentState!.outerController.offset, + duration: const Duration(milliseconds: 500), + curve: Curves.easeInOut, + ); + } + } + void setVideoHeight() { String direction = firstVideo.width != null && firstVideo.height != null ? firstVideo.width! > firstVideo.height! diff --git a/lib/pages/video/view.dart b/lib/pages/video/view.dart index b6826f301..45900ebf6 100644 --- a/lib/pages/video/view.dart +++ b/lib/pages/video/view.dart @@ -925,11 +925,7 @@ class _VideoDetailPageVState extends State children: [ buildTabbar( showReply: videoDetailController.showReply, - onTap: () { - videoDetailController - .scrollKey.currentState?.outerController - .animToTop(); - }, + onTap: videoDetailController.animToTop, ), Expanded( child: videoTabBarView(