私は水平を持っていますListView.builder
。添付の画像は私のUIを示しています。
listView
(赤)。 itemBuilder
ボタンウィジェット(青);マージン(緑)。
リストを余白なしで端までスクロールすると、ボタンが画面の端に表示されます。
margin
またはpadding
を介してContainer
またはListView
を追加すると、UIが期待どおりに移動します。
ただし、リストをスクロールすると、リスト内のアイテムがこのマージンでクリップされ、画面の端ではなくマージンの境界までスクロールします。
スクロール時にリストをクリップしないインセットを作成するにはどうすればよいですか?
ListView
は、その目的のためにpadding
プロパティを所有しています。
次のコードは、最初の要素を8だけオフセットします。ただし、そのパディングは、ListView
をPadding
内にラップするのとは対照的に、リストのコンテンツをクリップしません。
ListView.builder(
padding: EdgeInsets.only(top: 8.0),
itemBuilder: (context, index) {
return Container(
height: 42.0,
color: index % 2 == 0 ? Colors.red : Colors.blue,
);
},
),