mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-24 11:06:51 +08:00
opt anim to top
opt refresh Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -31,6 +31,8 @@ class _FavArticlePageState extends State<FavArticlePage>
|
||||
return refreshIndicator(
|
||||
onRefresh: _favArticleController.onRefresh,
|
||||
child: CustomScrollView(
|
||||
controller: _favArticleController.scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
SliverPadding(
|
||||
padding: EdgeInsets.only(
|
||||
|
||||
@@ -36,6 +36,8 @@ class _FavNoteChildPageState extends State<FavNoteChildPage>
|
||||
refreshIndicator(
|
||||
onRefresh: _favNoteController.onRefresh,
|
||||
child: CustomScrollView(
|
||||
controller: _favNoteController.scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
SliverPadding(
|
||||
padding: EdgeInsets.only(
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import 'package:PiliPlus/pages/fav/note/child_view.dart';
|
||||
import 'package:PiliPlus/pages/fav/note/controller.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class FavNotePage extends StatefulWidget {
|
||||
const FavNotePage({super.key});
|
||||
@@ -58,6 +61,16 @@ class _FavNotePageState extends State<FavNotePage>
|
||||
const Tab(text: '未发布笔记'),
|
||||
const Tab(text: '公开笔记'),
|
||||
],
|
||||
onTap: (index) {
|
||||
try {
|
||||
if (!_tabController.indexIsChanging) {
|
||||
Get.find<FavNoteController>(
|
||||
tag: index == 0 ? 'false' : 'true')
|
||||
.scrollController
|
||||
.animToTop();
|
||||
}
|
||||
} catch (_) {}
|
||||
},
|
||||
),
|
||||
),
|
||||
// TextButton(
|
||||
|
||||
@@ -43,6 +43,8 @@ class _FavPgcChildPageState extends State<FavPgcChildPage>
|
||||
refreshIndicator(
|
||||
onRefresh: _favPgcController.onRefresh,
|
||||
child: CustomScrollView(
|
||||
controller: _favPgcController.scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
SliverPadding(
|
||||
padding: EdgeInsets.only(
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import 'package:PiliPlus/pages/fav/pgc/child_view.dart';
|
||||
import 'package:PiliPlus/pages/fav/pgc/controller.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class FavPgcPage extends StatefulWidget {
|
||||
const FavPgcPage({super.key, required this.type});
|
||||
@@ -61,6 +64,15 @@ class _FavPgcPageState extends State<FavPgcPage>
|
||||
Tab(text: '在看'),
|
||||
Tab(text: '看过'),
|
||||
],
|
||||
onTap: (index) {
|
||||
try {
|
||||
if (!_tabController.indexIsChanging) {
|
||||
Get.find<FavPgcController>(
|
||||
tag: '${widget.type}${index + 1}',
|
||||
).scrollController.animToTop();
|
||||
}
|
||||
} catch (_) {}
|
||||
},
|
||||
),
|
||||
),
|
||||
// TextButton(
|
||||
|
||||
@@ -30,6 +30,8 @@ class _FavTopicPageState extends State<FavTopicPage>
|
||||
return refreshIndicator(
|
||||
onRefresh: _controller.onRefresh,
|
||||
child: CustomScrollView(
|
||||
controller: _controller.scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
SliverPadding(
|
||||
padding: EdgeInsets.only(
|
||||
|
||||
@@ -2,8 +2,11 @@ import 'package:PiliPlus/common/widgets/scroll_physics.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/common/fav_type.dart';
|
||||
import 'package:PiliPlus/models/user/fav_folder.dart';
|
||||
import 'package:PiliPlus/pages/fav/article/controller.dart';
|
||||
import 'package:PiliPlus/pages/fav/topic/controller.dart';
|
||||
import 'package:PiliPlus/pages/fav/video/controller.dart';
|
||||
import 'package:PiliPlus/pages/fav_folder_sort/view.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -122,6 +125,23 @@ class _FavPageState extends State<FavPage> with SingleTickerProviderStateMixin {
|
||||
isScrollable: true,
|
||||
tabAlignment: TabAlignment.start,
|
||||
tabs: FavTabType.values.map((item) => Tab(text: item.title)).toList(),
|
||||
onTap: (index) {
|
||||
try {
|
||||
if (!_tabController.indexIsChanging) {
|
||||
switch (FavTabType.values[index]) {
|
||||
case FavTabType.video:
|
||||
_favController.scrollController.animToTop();
|
||||
case FavTabType.article:
|
||||
Get.find<FavArticleController>()
|
||||
.scrollController
|
||||
.animToTop();
|
||||
case FavTabType.topic:
|
||||
Get.find<FavTopicController>().scrollController.animToTop();
|
||||
default:
|
||||
}
|
||||
}
|
||||
} catch (_) {}
|
||||
},
|
||||
),
|
||||
),
|
||||
body: SafeArea(
|
||||
|
||||
Reference in New Issue
Block a user