如何在 PagedGridView 中水平对齐中心的加载图标?
Posted
技术标签:
【中文标题】如何在 PagedGridView 中水平对齐中心的加载图标?【英文标题】:How to align loading icon at center horizontally in PagedGridView? 【发布时间】:2021-12-13 09:04:01 【问题描述】:我正在尝试使用无限滚动在 PagedGridView 中显示新闻项目,以一次加载有限数量的数据。一切正常,但我在获取额外数据时陷入了管理加载指示器的对齐问题。加载图标向右对齐,而我希望它水平位于屏幕中心。
PagedGridView(
pagingController: _pagingController,
scrollController: _scrollController,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
childAspectRatio: 5.2 / 8.0,
crossAxisCount: 2,
crossAxisSpacing: 1.5,
mainAxisSpacing: 3.0,
mainAxisExtent: 225),
builderDelegate: PagedChildBuilderDelegate<Post>(
itemBuilder: (context, item, index)
return AllNewsCard(
allNews:
newsHeadlineController.getAllNewsList[index]);
),
)
【问题讨论】:
【参考方案1】:不要将加载指示器添加为网格项。这就是为什么它位于右侧。
我会使用 CustomScrollView
和 SliverGrid
而不是 PagedGridView
和 SliverFillRemaining
来显示活动指示器。
CustomScrollView(
slivers: [
SliverGrid(
delegate: PagedChildBuilderDelegate<Post>(
itemBuilder: (context, item, index)
return AllNewsCard(
allNews: newsHeadlineController.getAllNewsList[index]);
),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
childAspectRatio: 5.2 / 8.0,
crossAxisCount: 2,
crossAxisSpacing: 1.5,
mainAxisSpacing: 3.0,
mainAxisExtent: 225,
),
),
if (isLoading)
SliverFillRemaining(
hasScrollBody: false,
child: CircularProgressIndicator(),
),
],
);
【讨论】:
它给了我错误,因为参数类型“PagedChildBuilderDelegate以上是关于如何在 PagedGridView 中水平对齐中心的加载图标?的主要内容,如果未能解决你的问题,请参考以下文章