Last Updated on September 14, 2021 by
Flutter adalah framework yang berbasis widget. Salah satu widget penting dalam Flutter adalah Row and Column. Widget Flutter row column berguna untuk menyelaraskan child class secara horizontal maupun vertikal sesuai dengan kebutuhan developer. Flutter row and column sangat dibutuhkan ketika kita mendesain aplikasi untuk antarmuka di dalam Flutter.
Sekarang, kita akan belajar bagaimana mengatur widget flutter row column di layar. Row and column bukanlah satu widget, keduanya adalah dua widget yang berbeda, yaitu row column. Pada artikel kali ini, kita akan mengintegrasikan kedua widget ini bersama-sama karena keduanya memiliki properti serupa yang membantu kita memahaminya secara efisien dan cepat.
Jika Anda tertarik dengan pembahasan Codekey kali ini, simak terus artikel Tutorial Dart 25 ini sampai akhir!
Flutter Row and Column : Penjelasan dan Perbedaan
Flutter row and column merupakan pola layout atau tata letak yang paling sering digunakan dalam pengembangan aplikasi berbasis flutter Flutter. Flutter row and column ini dapat mengambil beberapa widget child. Widget child yang digunakan pada flutter row column juga bisa berupa widget baris atau kolom.
Anda pun dapat merelaksasikan atau membatasi widget child tertentu ketika menggunakan Flutter row and column. Flutter juga memungkinkan developer untuk menentukan bagaimana widget child dapat menggunakan ruang yang tersedia pada widget baris dan kolom.
Perbedaan utama dari Flutter row column adalah:
- Row Flutter membuat widget child menjadi selaras dalam arah vertikal.
- Column Flutter membuat widget child menjadi selaras dalam arah horizontal.
- Row Flutter Widget tidak memiliki pengguliran horizontal.
- Pada Row Flutter, ketika kita telah menyisipkan sejumlah besar child dalam satu baris yang tidak dapat ditampung di row tersebut, kita akan melihat pesan Overflow.
- Column Flutter widget tidak memiliki pengguliran vertikal.
- Pada column Flutter, ketika kita telah menyisipkan banyak child widget dalam satu kolom yang ukuran child totalnya tidak sama dengan tinggi layar, kita akan melihat pesan Overflow.
Selanjutnya, Codekey akan membahas masing-masing Flutter Row and Column widget secara lebih rinci.
Row Flutter Widget
Row Flutter Widget berfungsi untuk mengatur childrennya dalam arah horizontal di layar. Dengan kata lain, ia akan mengharapkan widget child dalam array horizontal. Jika widget child pada row perlu mengisi ruang horizontal yang tersedia, kita harus membungkus widget child dalam expanded widget atau widget yang diperluas.
Widget row Flutter tidak dapat digulir karena menampilkan widget dalam tampilan yang terlihat. Jadi ketika kita memiliki lebih banyak child dalam row yang kecil atau tidak muat pada tempat yang tersedia. Jika kita ingin membuat daftar widget row yang dapat digulir, kita perlu menggunakan widget ListView.
Dalam hal ini, kita dapat mengontrol bagaimana widget row menyelaraskan child yang dimilikinya berdasarkan pilihan kita menggunakan properti crossAxisAlignment dan mainAxisAlignment. Sumbu silang baris akan berjalan secara vertikal, dan sumbu utama akan berjalan secara horizontal.
Kita dapat menyelaraskan widget children pada dengan membantu dari beberapa properti di bawah ini:
- start: properti ini akan menempatkan children dari awal sumbu utama.
- end: properti ini akan menempatkan children di ujung sumbu utama.
- center: properti akan menempatkan children di tengah sumbu utama.
- spaceBetween: properti akan menempatkan ruang kosong di antara children secara merata.
- spaceAround: properti ini akan menempatkan ruang kosong antara children secara merata dan setengah dari ruang itu sebelum dan sesudah widget child pertama dan terakhir.
- spaceEvenly: properti ini akan menempatkan ruang kosong antara children secara merata dan sebelum dan sesudah widget child pertama dan terakhir.
Mari kita memahaminya dengan bantuan contoh di mana kita akan menyelaraskan konten sedemikian rupa sehingga ada ruang yang rata di sekitar children dalam satu baris. Berikut adalah contoh kodenya:
1. import 'package:flutter/material.dart'; 2. 3. void main() { runApp(MyApp()); } 4. class MyApp extends StatelessWidget { 5. @override 6. Widget build(BuildContext context) { 7. return MaterialApp( 8. home: MyHomePage() 9. ); 10. } 11. } 12. 13. class MyHomePage extends StatefulWidget { 14. @override 15. _MyHomePageState createState() => _MyHomePageState(); 16. } 17. 18. class _MyHomePageState extends State<MyHomePage> { 19. @override 20. Widget build(BuildContext context) { 21. return Scaffold( 22. appBar: AppBar( 23. title: Text("Contoh penggunaan row di Flutter"), 24. ), 25. body: Row( 26. mainAxisAlignment: MainAxisAlignment.spaceEvenly, 27. children:<Widget>[ 28. Container( 29. margin: EdgeInsets.all(12.0), 30. padding: EdgeInsets.all(8.0), 31. decoration:BoxDecoration( 32. borderRadius:BorderRadius.circular(8), 33. color:Colors.green 34. ), 35. child: Text("Home",style: TextStyle(color:Colors.yellowAccent,fontSize:25),), 36. ), 37. Container( 38. margin: EdgeInsets.all(15.0), 39. padding: EdgeInsets.all(8.0), 40. decoration:BoxDecoration( 41. borderRadius:BorderRadius.circular(8), 42. color:Colors.green 43. ), 44. child: Text("About",style: TextStyle(color:Colors.yellowAccent,fontSize:25),), 45. ), 46. Container( 47. margin: EdgeInsets.all(12.0), 48. padding: EdgeInsets.all(8.0), 49. decoration:BoxDecoration( 50. borderRadius:BorderRadius.circular(8), 51. color:Colors.green 52. ), 53. child: Text("Contact",style: TextStyle(color:Colors.yellowAccent,fontSize:25),), 54. ) 55. ] 56. ), 57. ); 58. } 59. }
Flutter Column Widget
Column Flutter widget mengatur children dalam arah vertikal di layar. Dengan kata lain, ia akan menerapkan array vertikal widget child. Jika widget child perlu mengisi ruang vertikal yang tersedia, kita harus membungkus widget child dalam expanded widget.
Column flutter widget tampak tidak dapat digulir karena menampilkan widget dalam tampilan yang terlihat. Kita akan dianggap salah apabila kita memiliki lebih banyak child pada column yang tidak muat di ruang yang tersedia. Jika kita ingin membuat daftar widget column yang dapat digulir, kita perlu menggunakan Widget ListView.
Kita juga dapat mengontrol bagaimana widget column menyelaraskan children menggunakan properti mainAxisAlignment dan crossAxisAlignment. Sumbu silang kolom akan berjalan secara horizontal, dan sumbu utama akan berjalan secara vertikal.
Selanjutnya, mari kita memahaminya dengan bantuan contoh. Pada kode berikut ini kita akan menyelaraskan konten sedemikian rupa sehingga ada ruang kosong antara children secara merata di kolom. Berikut ini adalah kodenya:
1. import 'package:flutter/material.dart'; 2. 3. void main() { runApp(MyApp()); } 4. class MyApp extends StatelessWidget { 5. @override 6. Widget build(BuildContext context) { 7. return MaterialApp( 8. home: MyHomePage() 9. ); 10. } 11. } 12. 13. class MyHomePage extends StatefulWidget { 14. @override 15. _MyHomePageState createState() => _MyHomePageState(); 16. } 17. 18. class _MyHomePageState extends State<MyHomePage> { 19. @override 20. Widget build(BuildContext context) { 21. return Scaffold( 22. appBar: AppBar( 23. title: Text("Contoh penggunaan kolom di Flutter"), 24. ), 25. body: Column( 26. mainAxisAlignment: MainAxisAlignment.spaceBetween, 27. children:<Widget>[ 28. Container( 29. margin: EdgeInsets.all(20.0), 30. padding: EdgeInsets.all(12.0), 31. decoration:BoxDecoration( 32. borderRadius:BorderRadius.circular(8), 33. color:Colors.red 34. ), 35. child: Text("Home",style: TextStyle(color:Colors.yellowAccent,fontSize:20),), 36. ), 37. Container( 38. margin: EdgeInsets.all(20.0), 39. padding: EdgeInsets.all(12.0), 40. decoration:BoxDecoration( 41. borderRadius:BorderRadius.circular(8), 42. color:Colors.red 43. ), 44. child: Text("About",style: TextStyle(color:Colors.yellowAccent,fontSize:20),), 45. ), 46. Container( 47. margin: EdgeInsets.all(20.0), 48. padding: EdgeInsets.all(12.0), 49. decoration:BoxDecoration( 50. borderRadius:BorderRadius.circular(8), 51. color:Colors.red 52. ), 53. child: Text("Contact",style: TextStyle(color:Colors.yellowAccent,fontSize:20),), 54. ) 55. ] 56. ), 57. ); 58. } 59. }
Itulah penjelasan tentang Flutter Row and Column Widget yang digunakan untuk menyelaraskan widget child ketika Anda mengembangkan aplikasi mobile dalam Flutter. Ingin belajar lebih banyak tentang bahasa pemrogaraman Dart khususnya framework Flutter? Kunjungi selalu situs Codekey di https://codekey.id.
Codekey adalah media untuk belajar bahasa pemrograman. Di sini kami akan memberikan banyak materi tentang bahasa pemrograman seperti tutorial, tips, dan trik untuk Anda dalam memecahkan masalah pemrograman.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.