FlexBox kapsayıcısının davranışını yapılandırmak için bir FlexBoxConfig
bloğu oluşturun ve config parametresini kullanarak sağlayın.
FlexBox( config = { direction = FlexDirection.Column wrap = FlexWrap.Wrap alignItems = FlexAlignItems.Center alignContent = FlexAlignContent.SpaceAround justifyContent = FlexJustifyContent.Center gap(16.dp) } ) { // child items }
Düzen yönünü, sarmalama davranışını, hizalamayı ve öğeler arasındaki boşlukları tanımlamak için FlexBoxConfig simgesini kullanın.
Düzen yönü
direction özelliği, öğelerin yerleştirileceği yönü belirleyen ana ekseni tanımlar.
Row(varsayılan): Ana ekseni yatay olarak ayarlar. Soldan sağa yerel ayarlarda bu işlem soldan sağa doğru yapılır. Sağdan sola yerel ayarlarda ise bunun tersi geçerlidir.RowReverse:Rowyönünü tersine çevirir.Column: Ana ekseni dikey, yukarıdan aşağıya olacak şekilde ayarlar.ColumnReverse:Columnyönünü tersine çevirir.
Öğeleri hizalama ve fazla alanı dağıtma
Aşağıdaki bölümlerde, öğelerin nasıl hizalanacağı ve ana eksen ile çapraz eksen boyunca fazladan alanın nasıl dağıtılacağı açıklanmaktadır.
Ana eksen boyunca
Öğeleri ana eksen boyunca dağıtmak için justifyContent özelliğini kullanın. Aşağıdaki tabloda, yön Row olduğunda nasıl bir davranış sergilendiği gösterilmektedir.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Çapraz eksen boyunca
Öğeleri tek bir satırda çapraz eksen boyunca hizalamak için alignItems kullanın. Bu davranış, alignSelf değiştiricisi kullanılarak tek tek öğeler tarafından geçersiz kılınabilir.
Aşağıdaki resimlerde, yön Row olduğunda nasıl bir davranış sergilendiği gösterilmektedir:
|
|
|
|
|
|
|
|
|
|
|
Satırları çapraz eksene hizalamak ve satırlar arasındaki boşluğu eşit olarak dağıtmak için alignContent simgesini kullanın. Bu özellik yalnızca birden fazla satır olduğunda geçerlidir (kaydırma etkinleştirilmişse). Aşağıdaki resimlerde, yön Row olduğunda nasıl bir davranış sergilendiği gösterilmektedir:
|
|
|
|
|
|
|
|
|
|
|
|
|
Öğeleri sarmalama
Sarma, FlexBox kapsayıcının çok satırlı olmasına olanak tanır ve sığmayan öğeleri çapraz eksen boyunca yeni bir satıra veya sütuna taşır. wrap kullanarak sarmalama davranışını yapılandırın.
|
|
|
|
|
|
|
|
Aşağıdaki örnekte FlexBox sarmalama algoritmasının nasıl çalıştığı gösterilmektedir. FlexBox kapsayıcısının ana boyutu 100dp, wrap değeri FlexWrap.Wrap olarak ayarlanmış ve 8dp boşluğu var. Bu listede sırasıyla basis 20dp, 40dp ve 50dp içeren üç öğe yer alıyor.
Kuyrukta 100dp kişilik yer var. 1. çocuk 20dp.
Yer olduğu için 1. Çocuk sıraya yerleştirilir.
FlexBox kapsayıcısına yerleştirilen ilk öğe.Kuyrukta 80dp kişilik yer var. Açık 8dp. 2. çocuk 40dp. Gerekli alan 48dp. Boşluk olduğundan, boşluk ve 2. Çocuk sıraya yerleştirilir.
FlexBox kapsayıcısına yerleştirilen ikinci öğe.Kuyrukta 32dp kişilik yer var. Açık 8dp. 3. çocuk
50dp. Gerekli alan 58dp. Mevcut satırda yeterli alan olmadığından 3. çocuk yeni bir satıra yerleştirilir.
Öğeler arasına boşluk ekleme
rowGap ve columnGap kullanarak satırlar ve sütunlar arasına boşluk ekleyin. Bu, alt öğelere aralık değiştiriciler eklemeyi önlemek için kullanışlıdır.
|
|
|
Öğeler ve satırlar arasına dikey boşluk ekler. |
Öğeler ve satırlar arasına yatay boşluk ekler. |
|