[英]how to align listview items top left?
我試圖在左上角對齊列表視圖項目,但它在中心對齊它們。 我用另一個小部件嘗試了這個,它工作正常,但使用列表視圖,它沒有。
這是我的代碼
Container(
height: height * 30,
// color: Colors.grey[400],
alignment: Alignment.topLeft,
child: ListView.builder(
itemBuilder: (context, i) => ReviewItem(
review: book.reviews[i]['review'],
date: book.reviews[i]['date'],
),
itemCount: book.reviews.length,
),
),
這是評論項目
Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
timeago.format(DateTime.parse(date)),
style: Theme.of(context).textTheme.headline4.copyWith(
fontSize: width * kFont12Ratio, color: Colors.grey[500]),
),
SizedBox(height: height * 0.5),
Text(review),
Divider(),
],
);
提前致謝
默認情況下,ListView 將自動填充列表的可滾動末端,以避免 MediaQuery 填充指示的部分障礙。 換句話說,如果您在 ListView 之前放置一個小部件,您應該使用MediaQuery.removePadding
小部件(使用removeTop: true
)包裝 ListView。 像這樣:
MediaQuery.removePadding(
context: context,
removeTop: true,
child: ListView.builder(...),
);
我通過在 listview 構建器中添加填充來實現這一點
padding: EdgeInsets.only(top: 0),
您可以改用填充或使用 Stack 與 Position (top:0,left:0) 或使用 Align( )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.