img-dart
#dart #flutter

Layout Widget Bagian 1

1. Align

menempatkan child widget pada posisi tertentu dalam parent-nya., dimana posisi tersebut diantaranya: Alignment.topLeft, Alignment.topCenter, Alignment.topRight, Alignment.centerLeft, Alignment.center, Alignment.centerRight, Alignment.bottomLeft, Alignment.bottomCenter, Alignment.bottomRight

2. Aspect Ratio

memaksa child widget memiliki rasio aspek tertentu (lebar/tinggi), Berguna untuk gambar, video, atau elemen yang perlu proporsi tetap.

3. Baseline

memungkinkan kita menyelaraskan beberapa widget teks atau widget lain yang memiliki baseline (seperti Text, RichText) pada posisi vertikal yang sama

4. Center

memposisikan child widget di tengah parent-nya. Center sebenarnya adalah wrapper khusus dari Align dengan alignment default Alignment.center, Jika butuh penyesuaian lebih fleksibel, gunakan Align.

5. Constrained Box

memberikan batasan minimum/maximum ukuran pada child, ini mirip seperti pada css min-width & max-width.

6. Container

Container adalah salah satu widget paling serbaguna dan paling sering digunakan di Flutter. Widget ini menggabungkan kemampuan layout, painting, dan positioning dalam satu widget yang mudah digunakan.

Fungsi Utama Container

7. Expanded

widget layout penting di Flutter yang digunakan dalam Row, Column untuk mengisi ruang yang tersedia di sepanjang sumbu utama (main axis). kalau di css mirip flex grow

Fungsi Utama Expanded

8. FittedBox

widget yang menyesuaikan ukuran dan posisi child-nya agar sesuai dengan ruang yang tersedia, dengan mempertahankan rasio aspek (aspect ratio) child widget. kalau di css ini adalah object-fit.

Fungsi Utama FittedBox:

9. FractionallySizedBox

widget layout yang memungkinkan kita menentukan ukuran child sebagai fraksi (persentase) dari ruang yang tersedia dari parent-nya. Widget ini sangat berguna untuk membuat desain yang responsif karena ukurannya menyesuaikan secara relatif terhadap parent.

Fungsi Utama:

10. IntrinsictHeight & IntrinsictWidth

widget layout yang memaksa child-nya memiliki tinggi intrinsik yang sama dengan child yang paling tinggi di dalamnya. Widget ini berguna ketika kita perlu menyamakan tinggi beberapa widget dalam sebuah Row atau Column.

Konsep Dasar

Peringatan: Widget ini melakukan layout pass tambahan untuk menghitung ukuran intrinsik, yang bisa mempengaruhi performa.

Alternatif yang Lebih Efisien:

Use Case yang Tepat:

11. LimitedBox

Fungsi Utama:

Cara Kerja:

12. Offstage

widget yang memungkinkan Anda menyembunyikan child widget dari tampilan tanpa menghapusnya dari widget tree. Berbeda dengan Visibility atau Opacity, Offstage benar-benar menghilangkan widget dari proses layout dan rendering, tetapi tetap mempertahankannya dalam memori. kalau di css ini seperti display: none.

Fungsi Utama:

13. OverflowBox

widget layout yang memungkinkan child-nya melampaui batas (overflow) dari parent-nya tanpa memicu overflow error. Widget ini berguna ketika Anda perlu menampilkan konten yang sengaja ingin melampaui batas container parent.

Fungsi Utama:

14. Padding

satu widget layout dasar di Flutter yang digunakan untuk menambahkan jarak (spasi) di sekitar child widget. Widget ini sangat penting untuk membuat desain yang rapi dan terorganisir.

Fungsi Utama:

Performance Considerations:

15. SizedBox

widget layout sederhana namun sangat powerful di Flutter yang digunakan untuk mengontrol ukuran ruang dengan cara yang efisien.

Fungsi Utama:

16. SizedOverflowBox

widget layout khusus yang menggabungkan fungsi SizedBox dan OverflowBox, memungkinkan Anda untuk:

Fungsi Utama:

Tips Penggunaan: