Flutter:如何在 Listview.builder 中对齐到堆栈底部
Flutter: how to Align to bottom of Stack in Listview.builder
我正在尝试在 Listview 中使用 Stack()
小部件,以便在 Listview 的每次迭代中在图像上显示小部件,但是我 运行 遇到了问题。每当我对任何小部件使用 Align()
时,它们都会停留在顶部并且不会与 Container()
的底部对齐
每张图片的尺寸都不同,因此我无法定义适用于所有图片的明确尺寸。
下面的代码将 alignedWidget()
对齐到左上角,即使我将它编码为对齐到左下角
Padding(
padding: const EdgeInsets.symmetric(horizontal: 40.0),
child: ListView.builder(
itemCount: widget.posts.length,
itemBuilder: (context, index) {
return listViewCard(images[index])
}
),
)
Widget listViewCard(image) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: 20.0),
child: Stack(
children: [
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(20.0)),
),
child: ClipRRect(
borderRadius: BorderRadius.circular(18.0),
child: Image(image: NetworkImage(image), fit: BoxFit.fitWidth, )
),
),
child: Align(
alignment: Alignment.bottomLeft,
child: Padding(
padding: const EdgeInsets.only(left: 8.0),
child: Row(
children: [
alignedWidget(),
],
),
)
),
],
),
);
}
}
我不确定你到底想完成什么。但是要在 Stack
内放置小部件,您可以使用 Positioned
小部件:
Stack(children: [
Positioned(bottom: 0.0, left: 0.0, child: ...)
])
我正在尝试在 Listview 中使用 Stack()
小部件,以便在 Listview 的每次迭代中在图像上显示小部件,但是我 运行 遇到了问题。每当我对任何小部件使用 Align()
时,它们都会停留在顶部并且不会与 Container()
每张图片的尺寸都不同,因此我无法定义适用于所有图片的明确尺寸。
下面的代码将 alignedWidget()
对齐到左上角,即使我将它编码为对齐到左下角
Padding(
padding: const EdgeInsets.symmetric(horizontal: 40.0),
child: ListView.builder(
itemCount: widget.posts.length,
itemBuilder: (context, index) {
return listViewCard(images[index])
}
),
)
Widget listViewCard(image) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: 20.0),
child: Stack(
children: [
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(20.0)),
),
child: ClipRRect(
borderRadius: BorderRadius.circular(18.0),
child: Image(image: NetworkImage(image), fit: BoxFit.fitWidth, )
),
),
child: Align(
alignment: Alignment.bottomLeft,
child: Padding(
padding: const EdgeInsets.only(left: 8.0),
child: Row(
children: [
alignedWidget(),
],
),
)
),
],
),
);
}
}
我不确定你到底想完成什么。但是要在 Stack
内放置小部件,您可以使用 Positioned
小部件:
Stack(children: [
Positioned(bottom: 0.0, left: 0.0, child: ...)
])