我有一個全屏影像,我想ListTile在它上面顯示一個位于螢屏底部的影像。我不斷收到例外BoxConstraints forces an infinite width
Widget build(BuildContext context) {
return Stack(
children: [
Image(
alignment: Alignment.center,
image: Image.file(File(filePath)).image,
fit: BoxFit.fill,
height: double.infinity,
width: double.infinity,
),
Container(
child: const Positioned(
bottom: 0,
child: ListTile(
leading: CircleAvatar(
backgroundImage: NetworkImage(
'https://image_sample.jpg'),
),
title: Text("Sample Text"),
subtitle: Text('@user1'),
),
),
),
],
);
}
獲得的例外是:

我嘗試使用 ConstrainedBox 約束 ListTile,但仍然不斷出現例外。如果我洗掉 ListTile 并使用一個簡單的 Text 小部件,它就可以正常作業。我知道 ListTile 具有無限約束,那么如何使其作業?
uj5u.com熱心網友回復:
問題是ListTile小部件盡可能長時間地水平擴展,因此您應該為父小部件添加受約束的寬度。
在您的情況下,您應該為Positioned小部件定義寬度。
Positioned(
bottom: 0,
width: MediaQuery.of(context).size.width, //give positioned a max width
child: const ListTile(
leading: CircleAvatar(
backgroundImage: NetworkImage('https://image_sample.jpg'),
),
title: Text("Sample Text"),
subtitle: Text('@user1'),
),
),
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/394164.html
