在Flutter中,我会使用refreshIndicator来刷新由水平页面视图(可滚动卡片的列表)创建的列表,但似乎refreshIndicator仅适用于listView / gridView。
有人遇到过这个问题吗?
所以我尝试了这个custom_refresh_indicator:^3.1.0,它适用于您的情况,您可以尝试运行下面的代码
class ApiWidget extends StatefulWidget {
const ApiWidget({Key? key}) : super(key: key);
@override
State<ApiWidget> createState() => _ApiWidgetState();
}
class _ApiWidgetState extends State<ApiWidget> {
@override
void initState() {
// TODO: implement initState
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: CustomMaterialIndicator(
onRefresh: () async {}, // Your refresh logic
indicatorBuilder:
(BuildContext context, IndicatorController controller) {
return const Icon(
Icons.ac_unit,
color: Colors.blue,
size: 30,
);
},
child: PageView.builder(
itemBuilder: (ctx, index) {
return Center(
child: Text(
index.toString(),
style: const TextStyle(fontSize: 17),
),
);
},
itemCount: 12,
),
),
);
}
}