Untuk mengonfigurasi perilaku penampung FlexBox, buat blok FlexBoxConfig
dan berikan menggunakan parameter config.
FlexBox( config = { direction = FlexDirection.Column wrap = FlexWrap.Wrap alignItems = FlexAlignItems.Center alignContent = FlexAlignContent.SpaceAround justifyContent = FlexJustifyContent.Center gap(16.dp) } ) { // child items }
Gunakan FlexBoxConfig untuk menentukan arah tata letak, perilaku wrapping,
penyelarasan, dan jarak antar-item.
Arah tata letak
Properti direction menentukan sumbu utama, yang menentukan arah
item disusun.
Row(default): Menetapkan sumbu utama menjadi horizontal. Di lokalitas kiri-ke-kanan, ini akan menjadi kiri-ke-kanan, dengan kebalikannya di kanan-ke-kiri.RowReverse: Membalikkan arahRow.Column: Menetapkan sumbu utama menjadi vertikal, dari atas ke bawah.ColumnReverse: Membalikkan arahColumn.
Menyejajarkan item dan mendistribusikan ruang ekstra
Bagian berikut menjelaskan cara menyelaraskan item dan mendistribusikan ruang ekstra di sepanjang sumbu utama dan sumbu silang.
Di sepanjang sumbu utama
Gunakan justifyContent untuk mendistribusikan item di sepanjang sumbu utama. Tabel berikut menunjukkan perilaku saat arahnya adalah Row.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Di sepanjang sumbu silang
Gunakan alignItems untuk menyelaraskan item di sepanjang sumbu silang dalam satu baris. Perilaku
ini dapat diganti oleh setiap item menggunakan
pengubah alignSelf.
Gambar berikut menunjukkan perilaku saat arahnya adalah Row:
|
|
|
|
|
|
|
|
|
|
|
Gunakan alignContent untuk menyelaraskan garis ke sumbu silang dan mendistribusikan ruang ekstra di antara garis. Properti ini hanya berlaku jika ada beberapa baris
(penggabungan diaktifkan). Gambar berikut menunjukkan perilaku saat arahnya
adalah Row:
|
|
|
|
|
|
|
|
|
|
|
|
|
Menggabungkan item
Pelipatan memungkinkan penampung FlexBox menjadi multi-baris, memindahkan item yang tidak muat ke baris atau kolom baru di sepanjang sumbu silang. Konfigurasi perilaku pembungkusan
menggunakan wrap.
|
Contoh menggunakan arah |
|
|
|
|
|
|
Contoh berikut menunjukkan cara kerja algoritma pembungkusan FlexBox. Penampung
FlexBox memiliki ukuran utama 100dp, dengan wrap ditetapkan ke
FlexWrap.Wrap dan jarak 8dp. Hasil ini berisi tiga item dengan basis 20dp,
40dp, dan 50dp.
Ada 100dp ruang kosong yang tersedia dalam antrean. Anak 1 adalah 20dp.
Ada ruang, jadi Child 1 ditempatkan ke dalam baris.
FlexBox.Ada 80dp ruang kosong yang tersedia dalam antrean. Selisihnya adalah 8dp. Anak 2 adalah
40dp. Ruang yang diperlukan adalah 48dp. Ada ruang, sehingga celah dan Turunan 2
ditempatkan ke dalam baris.
FlexBox setelah item pertama.Ada 32dp ruang kosong yang tersedia dalam antrean. Selisihnya adalah 8dp. Anak 3 adalah
50dp. Ruang yang diperlukan adalah 58dp. Tidak ada cukup ruang di baris
saat ini, sehingga Child 3 ditempatkan di baris baru.
Menambahkan jarak antar-item
Tambahkan jarak antara baris dan kolom menggunakan rowGap dan columnGap. Hal ini berguna
untuk menghindari penambahan pengubah penspasian ke turunan.
|
|
|
menambahkan ruang vertikal di antara item dan baris. |
menambahkan ruang horizontal di antara item dan baris. |
|