Skip to content

Commit cef29c9

Browse files
committed
fix: Android 搜索不加载动画
1 parent a7d6c13 commit cef29c9

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

lib/pages/search/pages/search_extension.dart

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import 'dart:io';
2+
3+
import 'package:easy_refresh/easy_refresh.dart';
14
import 'package:fluent_ui/fluent_ui.dart' as fluent;
25
import 'package:flutter/material.dart';
36
import 'package:flutter_i18n/flutter_i18n.dart';
@@ -31,6 +34,7 @@ class _SearchExtensionPageState extends fluent.State<SearchExtensionPage> {
3134
final List<ExtensionListItem> _data = [];
3235
int _page = 1;
3336
bool _isLoding = true;
37+
final EasyRefreshController _easyRefreshController = EasyRefreshController();
3438

3539
Future<void> _onRefresh() async {
3640
setState(() {
@@ -75,7 +79,11 @@ class _SearchExtensionPageState extends fluent.State<SearchExtensionPage> {
7579

7680
_onSearch(String keyWord) {
7781
_keyWord = keyWord;
78-
_onRefresh();
82+
if (Platform.isAndroid) {
83+
_easyRefreshController.callRefresh();
84+
} else {
85+
_onRefresh();
86+
}
7987
}
8088

8189
Widget _buildAndroid(BuildContext context) {
@@ -117,6 +125,7 @@ class _SearchExtensionPageState extends fluent.State<SearchExtensionPage> {
117125
body: InfiniteScroller(
118126
onRefresh: _onRefresh,
119127
onLoad: _onLoad,
128+
easyRefreshController: _easyRefreshController,
120129
child: LayoutBuilder(
121130
builder: (context, constraints) => GridView.builder(
122131
padding: const EdgeInsets.symmetric(horizontal: 16),

lib/widgets/infinite_scroller.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@ class InfiniteScroller extends StatefulWidget {
1212
required this.onLoad,
1313
this.refreshOnStart = true,
1414
this.enableInfiniteScroll = true,
15+
this.easyRefreshController,
1516
}) : super(key: key);
1617

1718
final Widget child;
1819
final Future<void> Function() onRefresh;
1920
final Future<void> Function() onLoad;
2021
final bool refreshOnStart;
2122
final bool enableInfiniteScroll;
23+
final EasyRefreshController? easyRefreshController;
2224

2325
@override
2426
State<InfiniteScroller> createState() => _InfiniteScrollerState();
@@ -36,7 +38,7 @@ class _InfiniteScrollerState extends State<InfiniteScroller> {
3638
}
3739

3840
_onRefresh() async {
39-
await Future.delayed(const Duration(milliseconds: 100));
41+
await Future.delayed(const Duration(milliseconds: 1));
4042
widget.onRefresh();
4143
}
4244

@@ -57,6 +59,7 @@ class _InfiniteScrollerState extends State<InfiniteScroller> {
5759

5860
Widget _buildAndroid(BuildContext context) {
5961
return EasyRefresh(
62+
controller: widget.easyRefreshController,
6063
onRefresh: widget.onRefresh,
6164
header: const ClassicHeader(
6265
processedDuration: Duration.zero,

0 commit comments

Comments
 (0)