Spacer で余白を実装する場合、上端や下端に余白が入らないように index を使った制御が必要になります。
Column {
list.forEachIndexed { index, item ->
if (index > 0) {
Spacer(Modifier.height(8.dp))
}
ListItem(...)
}
}
Arrangement.spacedBy() を使う場合、Spacer や index を使った制御が不要になるほか、if 文で要素を表示しないときに余白も自動で表示されなくなります。
Column(
verticalArrangement = Arrangement.spacedBy(8.dp)
) {
list.forEach { item ->
ListItem(...)
}
}