diff --git a/assets/fonts/HarmonyOS_Sans_SC_Regular.ttf b/assets/fonts/HarmonyOS_Sans_SC_Regular.ttf deleted file mode 100755 index aff150a1..00000000 Binary files a/assets/fonts/HarmonyOS_Sans_SC_Regular.ttf and /dev/null differ diff --git a/lib/main.dart b/lib/main.dart index 50d686c2..94731618 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -40,7 +40,7 @@ class MyApp extends StatelessWidget { return GetMaterialApp( title: 'PiLiPaLa', theme: ThemeData( - fontFamily: 'HarmonyOS', + // fontFamily: 'HarmonyOS', colorScheme: lightDynamic ?? ColorScheme.fromSeed( seedColor: Colors.green, @@ -56,7 +56,7 @@ class MyApp extends StatelessWidget { ), ), darkTheme: ThemeData( - fontFamily: 'HarmonyOS', + // fontFamily: 'HarmonyOS', colorScheme: darkDynamic ?? ColorScheme.fromSeed( seedColor: Colors.green, diff --git a/lib/pages/bangumi/controller.dart b/lib/pages/bangumi/controller.dart index 603f6136..7f9f6a61 100644 --- a/lib/pages/bangumi/controller.dart +++ b/lib/pages/bangumi/controller.dart @@ -54,4 +54,15 @@ class BangumiController extends GetxController { } else {} return result; } + + // 返回顶部并刷新 + void animateToTop() async { + if (scrollController.offset >= + MediaQuery.of(Get.context!).size.height * 5) { + scrollController.jumpTo(0); + } else { + await scrollController.animateTo(0, + duration: const Duration(milliseconds: 500), curve: Curves.easeInOut); + } + } } diff --git a/lib/pages/home/view.dart b/lib/pages/home/view.dart index 16d95320..73e1272f 100644 --- a/lib/pages/home/view.dart +++ b/lib/pages/home/view.dart @@ -100,8 +100,13 @@ class _HomePageState extends State dividerColor: Colors.transparent, unselectedLabelColor: Theme.of(context).colorScheme.outline, - onTap: (value) => - {feedBack(), _homeController.initialIndex = value}, + onTap: (value) { + feedBack(); + if (_homeController.initialIndex == value) { + _homeController.ctrList[value]().animateToTop(); + } + _homeController.initialIndex = value; + }, ), ), ), diff --git a/lib/pages/main/view.dart b/lib/pages/main/view.dart index 67d49c82..4b5a0bd2 100644 --- a/lib/pages/main/view.dart +++ b/lib/pages/main/view.dart @@ -142,8 +142,7 @@ class _MainAppState extends State with SingleTickerProviderStateMixin { currentIndex: selectedIndex, // type: BottomNavigationBarType.shifting, selectedItemColor: Theme.of(context).colorScheme.primary, - unselectedItemColor: - Theme.of(context).colorScheme.onSurfaceVariant, + unselectedItemColor: Theme.of(context).colorScheme.outline, selectedFontSize: 12.4, onTap: (value) => setIndex(value), items: [ diff --git a/lib/pages/searchPanel/view.dart b/lib/pages/searchPanel/view.dart index 5dd15b8f..560e9d73 100644 --- a/lib/pages/searchPanel/view.dart +++ b/lib/pages/searchPanel/view.dart @@ -25,7 +25,7 @@ class SearchPanel extends StatefulWidget { class _SearchPanelState extends State with AutomaticKeepAliveClientMixin { - late SearchPanelController? _searchPanelController; + late SearchPanelController _searchPanelController; bool _isLoadingMore = false; late Future _futureBuilderFuture; @@ -41,10 +41,9 @@ class _SearchPanelState extends State keyword: widget.keyword, searchType: widget.searchType, ), - tag: widget.searchType!.type + widget.tag!, + tag: widget.searchType!.type, ); - ScrollController scrollController = - _searchPanelController!.scrollController; + ScrollController scrollController = _searchPanelController.scrollController; scrollController.addListener(() async { if (scrollController.position.pixels >= scrollController.position.maxScrollExtent - 100) { @@ -55,7 +54,7 @@ class _SearchPanelState extends State } } }); - _futureBuilderFuture = _searchPanelController!.onSearch(); + _futureBuilderFuture = _searchPanelController.onSearch(); } @override @@ -63,7 +62,7 @@ class _SearchPanelState extends State super.build(context); return RefreshIndicator( onRefresh: () async { - await _searchPanelController!.onRefresh(); + await _searchPanelController.onRefresh(); }, child: FutureBuilder( future: _futureBuilderFuture, @@ -71,7 +70,7 @@ class _SearchPanelState extends State if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data; var ctr = _searchPanelController; - List list = ctr!.resultList; + List list = ctr.resultList; if (data['status']) { return Obx(() { switch (widget.searchType) { diff --git a/lib/pages/searchResult/view.dart b/lib/pages/searchResult/view.dart index 00c917f7..bbd89cd2 100644 --- a/lib/pages/searchResult/view.dart +++ b/lib/pages/searchResult/view.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:pilipala/models/common/search_type.dart'; +import 'package:pilipala/pages/rcmd/index.dart'; import 'package:pilipala/pages/searchPanel/index.dart'; import 'controller.dart'; @@ -88,6 +89,7 @@ class _SearchResultPageState extends State tag: SearchType.values[index].type) .animateToTop(); } + _searchResultController!.tabIndex = index; }, ), diff --git a/pubspec.yaml b/pubspec.yaml index 0046e890..dbb43d08 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -170,9 +170,9 @@ flutter: - family: Jura-Bold fonts: - asset: assets/fonts/Jura-Bold.ttf - - family: HarmonyOS - fonts: - - asset: assets/fonts/HarmonyOS_Sans_SC_Regular.ttf + # - family: HarmonyOS + # fonts: + # - asset: assets/fonts/HarmonyOS_Sans_SC_Regular.ttf # For details regarding fonts from package dependencies,