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 penggabungan,
perataan, dan celah antar-item.
Arah tata letak
Fungsi direction menetapkan sumbu utama, yang menentukan arah
tata letak item. Properti ini menerima nilai berikut:
Row(default): Menetapkan sumbu utama menjadi horizontal. Di lokalitas kiri ke kanan, arahnya akan dari kiri ke kanan, dan sebaliknya di lokalitas 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 meratakan item dan mendistribusikan ruang ekstra di sepanjang sumbu utama dan silang.
Sepanjang sumbu utama
Gunakan justifyContent untuk mendistribusikan item di sepanjang sumbu utama. Tabel berikut
menunjukkan perilaku saat arahnya adalah Row.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sepanjang sumbu silang
Gunakan alignItems untuk meratakan 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 meratakan baris ke sumbu silang dan untuk mendistribusikan ruang
tambahan di antara baris. Properti ini hanya berlaku jika ada beberapa baris
(penggabungan diaktifkan). Gambar berikut menunjukkan perilaku saat arahnya adalah Row:
|
|
|
|
|
|
|
|
|
|
|
|
|
Gabungkan item
Penggabungan memungkinkan penampung FlexBox menjadi multi-baris, memindahkan item yang tidak
muat ke baris atau kolom baru di sepanjang sumbu silang. Konfigurasikan perilaku penggabungan
menggunakan wrap.
|
Contoh penggunaan arah |
|
|
|
|
|
|
Contoh berikut menunjukkan cara kerja algoritma penggabungan FlexBox. Penampung
FlexBox memiliki ukuran utama 100dp, dengan wrap ditetapkan ke
FlexWrap.Wrap dan celah 8dp. Elemen ini berisi tiga item dengan basis 20dp,
40dp, dan 50dp.
Ada 100dp ruang yang tersedia di baris. Anak 1 adalah 20dp.
Ada ruang, sehingga Elemen Turunan 1 ditempatkan ke dalam baris.
FlexBox.Ada 80dp ruang yang tersedia di baris. Kesenjangannya adalah 8dp. Anak 2 berusia
40dp. Ruang penyimpanan yang diperlukan adalah 48dp. Ada ruang, sehingga celah dan Elemen Turunan 2
ditempatkan ke dalam baris.
FlexBox setelah item pertama.Ada 32dp ruang yang tersedia di baris. Kesenjangannya adalah 8dp. Anak 3 berusia
50dp. Ruang penyimpanan yang diperlukan adalah 58dp. Tidak ada cukup ruang di baris saat ini, sehingga Elemen turunan 3 ditempatkan di baris baru.
Menambahkan celah di antara item
Tambahkan celah di antara baris dan kolom menggunakan rowGap dan columnGap. Hal ini berguna
untuk menghindari penambahan pengubah spasi ke turunan.
|
|
|
menambahkan ruang vertikal di antara item dan baris. |
menambahkan ruang horizontal di antara item dan baris. |
|