import 'package:flutter/cupertino.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class RefreshFooter extends StatefulWidget { const RefreshFooter({Key? key}) : super(key: key); @override State createState() => _RefreshFooterState(); } class _RefreshFooterState extends State with SingleTickerProviderStateMixin { @override void initState() { super.initState(); } @override void dispose() { super.dispose(); } @override Widget build(BuildContext context) { return buildBody(); } Widget buildBody() { TextStyle style = TextStyle(fontSize: ScreenAdaper.sp(18)); return CustomFooter( builder: (BuildContext context, LoadStatus? status) { Widget body; if (status == LoadStatus.idle) { body = const Text("Pull up to get latest messages"); } else if (status == LoadStatus.loading) { body = const SizedBox(child: const CupertinoActivityIndicator()); } else if (status == LoadStatus.failed) { body = Text( "Load failed, please try again", style: style, ); } else if (status == LoadStatus.canLoading) { body = const CupertinoActivityIndicator( animating: false, ); } else { body = const SizedBox(); } return SizedBox( height: ScreenAdaper.height(20), child: Center(child: body), ); }, ); } }