Spacing
Giriş
Spacing widget'ı, UI elemanları arasına tutarlı boşluk eklemenin temiz ve okunabilir bir yolunu sunar. Kodunuz boyunca manuel olarak SizedBox örnekleri oluşturmak yerine, Spacing'i anlamsal ön ayarlar veya özel değerlerle kullanabilirsiniz.
// Instead of this:
SizedBox(height: 16),
// Write this:
Spacing.md,
Önceden Tanımlı Boyutlar
Spacing, yaygın boşluk değerleri için yerleşik ön ayarlarla birlikte gelir. Bunlar uygulamanız boyunca tutarlı boşluk sağlamaya yardımcı olur.
Dikey Boşluk Ön Ayarları
Bunları Column widget'larında veya dikey boşluğa ihtiyaç duyduğunuz herhangi bir yerde kullanın:
| Ön Ayar | Boyut | Kullanım |
|---|---|---|
Spacing.zero |
0px | Koşullu boşluk |
Spacing.xs |
4px | Çok küçük |
Spacing.sm |
8px | Küçük |
Spacing.md |
16px | Orta |
Spacing.lg |
24px | Büyük |
Spacing.xl |
32px | Çok büyük |
Column(
children: [
Text("Title"),
Spacing.sm,
Text("Subtitle"),
Spacing.lg,
Text("Body content"),
Spacing.xl,
ElevatedButton(
onPressed: () {},
child: Text("Action"),
),
],
)
Yatay Boşluk Ön Ayarları
Bunları Row widget'larında veya yatay boşluğa ihtiyaç duyduğunuz herhangi bir yerde kullanın:
| Ön Ayar | Boyut | Kullanım |
|---|---|---|
Spacing.xsHorizontal |
4px | Çok küçük |
Spacing.smHorizontal |
8px | Küçük |
Spacing.mdHorizontal |
16px | Orta |
Spacing.lgHorizontal |
24px | Büyük |
Spacing.xlHorizontal |
32px | Çok büyük |
Row(
children: [
Icon(Icons.star),
Spacing.smHorizontal,
Text("Rating"),
Spacing.lgHorizontal,
Text("5.0"),
],
)
Özel Boşluk
Ön ayarlar ihtiyaçlarınıza uymadığında, özel boşluk oluşturun:
Dikey Boşluk
Spacing.vertical(12) // 12 logical pixels of vertical space
Yatay Boşluk
Spacing.horizontal(20) // 20 logical pixels of horizontal space
Her İki Boyut
Spacing(width: 10, height: 20) // Custom width and height
Örnek
Column(
children: [
Text("Header"),
Spacing.vertical(40), // Custom 40px gap
Card(
child: Padding(
padding: EdgeInsets.all(16),
child: Row(
children: [
Icon(Icons.info),
Spacing.horizontal(12), // Custom 12px gap
Expanded(child: Text("Information text")),
],
),
),
),
],
)
Sliver'larla Kullanım
CustomScrollView ve sliver'larla çalışırken, asSliver() metodunu kullanın:
CustomScrollView(
slivers: [
SliverAppBar(
title: Text("My App"),
),
Spacing.lg.asSliver(), // Converts to SliverToBoxAdapter
SliverList(
delegate: SliverChildBuilderDelegate(
(context, index) => ListTile(title: Text("Item $index")),
childCount: 10,
),
),
Spacing.xl.asSliver(),
SliverToBoxAdapter(
child: Text("Footer"),
),
],
)
asSliver() metodu, Spacing widget'ını bir SliverToBoxAdapter içine sararak sliver tabanlı düzenlerle uyumlu hale getirir.
Koşullu Boşluk
Koşullu boşluk için Spacing.zero kullanın:
Column(
children: [
Text("Always visible"),
showExtraSpace ? Spacing.lg : Spacing.zero,
Text("Content below"),
],
)