mod: 直播列表刷新逻辑&样式

This commit is contained in:
guozhigq
2023-09-17 12:53:37 +08:00
parent 3daa06a198
commit c91cfedfe2
3 changed files with 13 additions and 9 deletions

View File

@ -25,9 +25,9 @@ class LiveController extends GetxController {
// 获取推荐 // 获取推荐
Future queryLiveList(type) async { Future queryLiveList(type) async {
if (type == 'init') { // if (type == 'init') {
_currentPage = 1; // _currentPage = 1;
} // }
var res = await LiveHttp.liveList( var res = await LiveHttp.liveList(
pn: _currentPage, pn: _currentPage,
); );

View File

@ -21,11 +21,15 @@ class LivePage extends StatefulWidget {
State<LivePage> createState() => _LivePageState(); State<LivePage> createState() => _LivePageState();
} }
class _LivePageState extends State<LivePage> { class _LivePageState extends State<LivePage>
with AutomaticKeepAliveClientMixin {
final LiveController _liveController = Get.put(LiveController()); final LiveController _liveController = Get.put(LiveController());
late Future _futureBuilderFuture; late Future _futureBuilderFuture;
late ScrollController scrollController; late ScrollController scrollController;
@override
bool get wantKeepAlive => true;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -37,7 +41,7 @@ class _LivePageState extends State<LivePage> {
() { () {
if (scrollController.position.pixels >= if (scrollController.position.pixels >=
scrollController.position.maxScrollExtent - 200) { scrollController.position.maxScrollExtent - 200) {
EasyThrottle.throttle('my-throttler', const Duration(seconds: 1), () { EasyThrottle.throttle('liveList', const Duration(seconds: 1), () {
_liveController.isLoadingMore = true; _liveController.isLoadingMore = true;
_liveController.onLoad(); _liveController.onLoad();
}); });
@ -144,9 +148,9 @@ class _LivePageState extends State<LivePage> {
return SliverGrid( return SliverGrid(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
// 行间距 // 行间距
mainAxisSpacing: StyleString.cardSpace + 4, mainAxisSpacing: StyleString.safeSpace,
// 列间距 // 列间距
crossAxisSpacing: StyleString.cardSpace + 4, crossAxisSpacing: StyleString.safeSpace,
// 列数 // 列数
crossAxisCount: crossAxisCount, crossAxisCount: crossAxisCount,
mainAxisExtent: mainAxisExtent:

View File

@ -24,7 +24,7 @@ class LiveCardV extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
String heroTag = Utils.makeHeroTag(liveItem.roomId); String heroTag = Utils.makeHeroTag(liveItem.roomId);
return Card( return Card(
elevation: crossAxisCount == 1 ? 0 : 1, elevation: 0,
clipBehavior: Clip.hardEdge, clipBehavior: Clip.hardEdge,
margin: EdgeInsets.zero, margin: EdgeInsets.zero,
child: GestureDetector( child: GestureDetector(
@ -102,7 +102,7 @@ class LiveContent extends StatelessWidget {
child: Padding( child: Padding(
padding: crossAxisCount == 1 padding: crossAxisCount == 1
? const EdgeInsets.fromLTRB(9, 9, 9, 4) ? const EdgeInsets.fromLTRB(9, 9, 9, 4)
: const EdgeInsets.fromLTRB(9, 8, 9, 8), : const EdgeInsets.fromLTRB(5, 8, 5, 4),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,