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 {
if (type == 'init') {
_currentPage = 1;
}
// if (type == 'init') {
// _currentPage = 1;
// }
var res = await LiveHttp.liveList(
pn: _currentPage,
);

View File

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

View File

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