我有这个代码:
FutureBuilder(
future: _data,
builder: (context, AsyncSnapshot snapshot) {
if (!snapshot.hasData) {
return const Center(child: CustomLoadingAnimation());
} else {
var data = snapshot.data;
return Container(
decoration: BoxDecoration(
color: primaryFlashColor,
borderRadius: BorderRadius.circular(20)),
height: 14.h,
width: 100.w,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: ListView.builder(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
itemCount: data.length,
itemBuilder: (context, index) {
return ThreadIcon(
title: data[index]['title'],
url: data[index]['pic']);
}),
),
);
}
})
这个预览:
正如您所看到的,第一个项目的标题只有一行,因此图像比其他项目低。
任何想法可以帮助解决这个问题吗?
1条答案
按热度按时间62lalag41#
使用
Row
将项目对齐为两边相等的空间(如果您确定项目的长度)。ListView
将占用可用空间,并将继续一个接一个地添加项目。