Untuk mengonfigurasi perilaku penampung FlexBox, buat FlexBoxConfig
blok 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 gabungan, perataan, dan jarak antar-item.
Arah tata letak
Fungsi direction menetapkan sumbu utama, yang menentukan arah item ditata. Fungsi ini menerima nilai berikut:
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, atas-ke-bawah.ColumnReverse: Membalikkan arahColumn.
Menyelaraskan item dan mendistribusikan ruang tambahan
Bagian berikut menjelaskan cara menyelaraskan item dan mendistribusikan ruang tambahan di sepanjang sumbu utama dan sumbu 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 menyelaraskan item di sepanjang sumbu silang dalam satu baris. Perilaku ini
dapat diganti oleh item individual menggunakan
alignSelf pengubah.
Gambar berikut menunjukkan perilaku saat arahnya adalah Row:
|
|
|
|
|
|
|
|
|
|
|
Gunakan alignContent untuk menyelaraskan baris ke sumbu silang dan mendistribusikan ruang tambahan antarbaris. Properti ini hanya berlaku jika ada beberapa baris (penggabungan diaktifkan). Gambar berikut menunjukkan perilaku saat arahnya adalah Row:
|
|
|
|
|
|
|
|
|
|
|
|
|
Menggabungkan item
Penggabungan memungkinkan penampung FlexBox menjadi multi-baris, memindahkan item yang tidak sesuai ke baris atau kolom baru di sepanjang sumbu silang. Konfigurasikan perilaku penggabungan menggunakan wrap.
Nilai |
Contoh menggunakan arah |
|
|
|
|
|
|
Contoh berikut menunjukkan cara kerja algoritma penggabungan FlexBox. Penampung FlexBox memiliki ukuran utama 100dp, dengan wrap ditetapkan ke FlexWrap.Wrap dan jarak 8dp. Penampung ini berisi tiga item dengan basis 20dp, 40dp, dan 50dp.
Ada ruang 100dp yang tersedia di baris. Anak 1 adalah 20dp.
Ada ruang, sehingga Anak 1 ditempatkan ke dalam baris.
FlexBox.Ada ruang 80dp yang tersedia di baris. Jaraknya adalah 8dp. Anak 2 adalah 40dp. Ruang yang diperlukan adalah 48dp. Ada ruang, sehingga jarak dan Anak 2 ditempatkan ke dalam baris.
FlexBox setelah item pertama.Ada ruang 32dp yang tersedia di baris. Jaraknya adalah 8dp. Anak 3 adalah 50dp. Ruang yang diperlukan adalah 58dp. Tidak ada cukup ruang di baris saat ini, sehingga Anak 3 ditempatkan di baris baru.
Menambahkan jarak antar-item
Tambahkan jarak antarbaris dan kolom menggunakan rowGap dan columnGap. Hal ini berguna untuk menghindari penambahan pengubah penspasian ke elemen turunan.
|
|
|
menambahkan ruang vertikal antar-item dan baris. |
menambahkan ruang horizontal antar-item dan baris. |
|