flutter - Flutter ListView - 如果不扩展超出屏幕,则居中项目
问题描述
我有一个水平 ListView,根据应用程序状态,列表中可能有 1-2 项或许多项。
现在,只要只有少数可用且不需要滚动,我就想让这些项目居中。到目前为止,我的项目总是粘在左侧,正如您在具有石灰背景颜色的 ListView 中看到的那样。我想要的那个居中,即使 2 或 3 个项目可见,但有更多,它应该滚动,然后从左侧开始列出项目。
return Container(
color: Colors.lime,
child: ListView(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
children: listItems));
物品本身是这样的:
Widget getPersonCircleWidget(BuildContext context, Person p) {
return Container(
color: Colors.transparent, //yellow,
child: Padding(
padding: const EdgeInsets.fromLTRB(10, 0, 10, 0),
child: CircularProfileAvatar('',
child: Image(
fit: BoxFit.cover,
image:
UserPhotoManager.singleton.getUserProfilePhoto(p.userId)),
borderColor: colorCirclePhotoBorder,
borderWidth: 2,
elevation: 10,
radius: 40,
onTap: () {
....
}),
),
);
}
知道如何解决这个问题吗?
解决方案
ListView
只需用小部件包装你的Center
。
Center(
child: ListView(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
children: listItems.map<Widget>((a) => CircleAvatar(
child: Text(a))).toList(),
),
),
当ListView
超过屏幕上的可用空间时,它将自动左对齐。
在dartpad上试试。
推荐阅读
- rust - 具有内部可变性的单元格允许任意突变动作
- html - Bootstrap flex 项目不能垂直居中
- flutter - 在具有空安全性的颤动中将函数作为参数传递
- amazon-web-services - Amazon Elastic Search 自定义终端节点
- file-upload - 我正在尝试使用带有 Roxima 主题的 Font Awesome 图标 - 有些不会上传
- python - 获取用户在 selenium 中查看的标签
- python - Python Permutations - 获得具有条件的全套结果
- mongodb - 如何计算MongoDB集合中存在数组内对象元素的文档数
- python - 如何让用户在 youtube-dl 中选择质量?
- c++ - ATL CImage::SetPixel 不适用于单色 BMP (nBPP=1)