mod: 首页多列加载更多

This commit is contained in:
guozhigq
2023-10-22 10:32:03 +08:00
parent 5c6b8624d7
commit 445a37d305
3 changed files with 18 additions and 30 deletions

View File

@ -201,7 +201,7 @@ class _BangumiPageState extends State<BangumiPage>
},
),
),
const LoadingMore()
LoadingMore()
],
),
);

View File

@ -10,6 +10,7 @@ import 'package:pilipala/common/widgets/animated_dialog.dart';
import 'package:pilipala/common/widgets/http_error.dart';
import 'package:pilipala/common/widgets/overlay_pop.dart';
import 'package:pilipala/pages/main/index.dart';
import 'package:pilipala/pages/rcmd/index.dart';
import 'controller.dart';
import 'widgets/live_item.dart';
@ -118,7 +119,7 @@ class _LivePageState extends State<LivePage>
},
),
),
const LoadingMore()
LoadingMore(ctr: _liveController)
],
),
),
@ -180,24 +181,3 @@ class _LivePageState extends State<LivePage>
);
}
}
class LoadingMore extends StatelessWidget {
const LoadingMore({super.key});
@override
Widget build(BuildContext context) {
return SliverToBoxAdapter(
child: Container(
height: MediaQuery.of(context).padding.bottom + 80,
padding: EdgeInsets.only(bottom: MediaQuery.of(context).padding.bottom),
child: Center(
child: Text(
'加载中...',
style: TextStyle(
color: Theme.of(context).colorScheme.outline, fontSize: 13),
),
),
),
);
}
}

View File

@ -125,7 +125,7 @@ class _RcmdPageState extends State<RcmdPage>
},
),
),
const LoadingMore()
LoadingMore(ctr: _rcmdController)
],
),
),
@ -191,7 +191,8 @@ class _RcmdPageState extends State<RcmdPage>
}
class LoadingMore extends StatelessWidget {
const LoadingMore({super.key});
dynamic ctr;
LoadingMore({super.key, this.ctr});
@override
Widget build(BuildContext context) {
@ -199,14 +200,21 @@ class LoadingMore extends StatelessWidget {
child: Container(
height: MediaQuery.of(context).padding.bottom + 80,
padding: EdgeInsets.only(bottom: MediaQuery.of(context).padding.bottom),
child: GestureDetector(
onTap: () {
if (ctr != null) {
ctr!.onLoad();
}
},
child: Center(
child: Text(
'加载中...',
'加载更多 👇',
style: TextStyle(
color: Theme.of(context).colorScheme.outline, fontSize: 13),
),
),
),
),
);
}
}