[英]Flutter: Add padding to only certain elements in my ListView
我正在嘗試創建一個 ListView 並且只希望填充第一個項目。 這是代碼:
Expanded(
child: ListView.builder(
padding: EdgeInsets.all(16),
itemCount: card.length,
itemBuilder: (context, index) {
if (index == 0) {
return MyCard.buildRecordCard(
card[index], context);
} else {
return MyCard.buildRecordsCards(
card[index], context, index);
}
},
),
);
但我希望卡片 2...n(即索引。= 0)不被填充並延伸到屏幕的末尾:像這樣的東西:
if (index == 0) {
padding: EdgeInsets.all(16),
return MyCard.buildRecordCard(
card[index], context);
} else {
padding: 0,
return MyCard.buildRecordsCards(
card[index], context, index);
}
但這顯然行不通。
您只需要用Padding
包裝小部件。 簡單地你可以使用三元像
itemBuilder: (context, index) {
return Padding(
padding: index == 0 ? EdgeInsets.all(16) : EdgeInsets.zero,
child: MyCard.buildRecordCard(card[index], context));
},
解決了。 我只是將填充添加到我正在構建的項目中,方法是將它包裝在一個容器中,如下所示:
Container(
padding: EdgeInsets.fromLTRB(16, 16, 16, 0),
child: ...ListTile...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.