我想讓 ListView 與其內容具有相同的高度,
但總是得到Horizo??ntal viewport was given unbounded height錯誤
我試圖定義一個高度為 ListView 父級的 SizedBox,但看起來很奇怪
所有專案都在進行down
我如何在沒有定義高度的情況下定義這個 ListView(動態跟隨內容高度)?
使用 listview 前的結果 使用 ListView
后(奇怪的樣子)
有代碼:
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
...OTHER CHILD,
ListView(
scrollDirection: Axis.horizontal,
children: [
HorizontalList(),
SizedBox(width: 10),
HorizontalList(),
SizedBox(width: 10),
HorizontalList(),
],
),
],
),
有子組件:
Container(
width: 260,
height: 210,
decoration: BoxDecoration(
color: whiteColor,
borderRadius: BorderRadius.all(Radius.circular(14)),
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.5),
spreadRadius: 1,
blurRadius: 5,
offset: Offset(0, 0),
),
],
),
child: Column(
children: [
...OTHER CHILD,
],
),
);
uj5u.com熱心網友回復:
我想如果你用這個
crossAxisAlignment: CrossAxisAlignment.stretch,
而不是這個
crossAxisAlignment: CrossAxisAlignment.start
那么它將起作用。
uj5u.com熱心網友回復:
放入并shrinkWrap: true用小部件ListView包裝ListView。Flexible
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
...OTHER CHILD,
Flexible(
child: ListView(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
children: [
HorizontalList(),
SizedBox(width: 10),
HorizontalList(),
SizedBox(width: 10),
HorizontalList(),
],
),
),
],
),
這種方式ListView只會占用孩子們需要的空間。
uj5u.com熱心網友回復:
ListView將占用所有可用空間。
如果scrollDirection設定為Axis.horizontal它將占用所有可用高度,或者如果設定為verticle則它將占用所有可用寬度。這是默認行為。
您可以SingleChildScrollView使用Row.
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
...OTHER CHILD,
SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
children: [
HorizontalList(),
SizedBox(width: 10),
HorizontalList(),
SizedBox(width: 10),
HorizontalList(),
],
),
)
],
),
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/474935.html
