buildLiveRoomGridView static method
Widget
buildLiveRoomGridView(
- BuildContext buildContext,
- List<
LiveRoomModel> ? liveRoomItemList, { - ScrollPhysics? physics,
- bool shrinkWrap = false,
- String? emptyText,
- bool needShowEmptyView = true,
- dynamic onItemClicked()?,
- bool isInitFinish = true,
直播间列表
onItemClicked 如果传递,就交给调用层控制点击事件
isInitFinish 是否初始化完毕,没有就显示空白界面
Implementation
static Widget buildLiveRoomGridView(BuildContext buildContext, List<LiveRoomModel>? liveRoomItemList,
{ScrollPhysics? physics,
bool shrinkWrap = false,
String? emptyText,
bool needShowEmptyView = true,
Function(int)? onItemClicked,
bool isInitFinish = true}) {
if (liveRoomItemList != null && liveRoomItemList.isNotEmpty) {
int crossAxisCount = 2; // 一行显示多少个直播间列表
return GridView.builder(
padding: EdgeInsets.zero,
shrinkWrap: shrinkWrap,
physics: physics,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: crossAxisCount,
childAspectRatio: 1.0,
mainAxisSpacing: 8,
crossAxisSpacing: 8,
),
itemBuilder: (context, index) {
return LiveRoomItem(
data: liveRoomItemList[index],
index: index,
onItemClick: (index) =>
{onItemClicked != null ? onItemClicked(index) : AudienceLiveRoomPage.startList(context, index, liveRoomItemList)},
);
},
itemCount: liveRoomItemList.length,
);
} else {
if (needShowEmptyView) {
if (isInitFinish) {
return CommonWidgetBuilder.buildListEmptyView(R.imageEmptyNoanchor3X, emptyText ?? Strings.anchorComingSoon.tr);
} else {
return Container();
}
} else {
return Container();
}
}
}