news

Mendalami Metode Pengundian dan Algoritma di Balik Live Draw Sydney untuk Memahami Cara Kerjanya   Membangun Strategi Bermain Togel Hong Kong yang Efektif di Hongkongpools   Membongkar Rahasia Live Draw SGP: Keajaiban Angka Terungkap   How Perform Blackjack Online   Security Services Internet – At Your Service   Online Video Slots For Convenience   A Can It The Discounted Huge Mega Slot Machine Bank   The Largest Casino For Some   Marvel Comic Heroes Slot Machine Game Overview   Evolusi Permainan Slot  

Selasa, 16 Juni 2020

Belajar Widget Flutter : Expanded

Expanded

Sejauh ini kita telah mempelajari beberapa widget dasar dan bagaimana menyusunnya secara horizontal maupun vertikal. 

Dalam pengembangan aplikasi mobile kita tahu bahwa terdapat banyak sekali perangkat dengan ukuran layar yang berbeda pula. Untuk itu penting bagi kita untuk bisa menyusun tampilan yang responsif terhadap ukuran layar.
Kira-kira bagaimana Anda akan menyusun layout dengan tampilan seperti berikut?

20200615161011d0bb9c837344b597049b67d0898cbf75.jpeg
Tentunya akan sangat merepotkan apabila kita mengatur tinggi dari masing-masing kotak, bukan? Belum lagi jika harus mengembangkan aplikasi di ukuran yang lebih besar seperti perangkat tablet. 
Flutter memiliki widget Expanded yang dapat mengembangkan child dari Row atau Column sesuai dengan ruang yang tersedia. Cara menggunakannya Anda cukup membungkus masing-masing child ke dalam Expanded.
  1. class Rainbow extends StatelessWidget {
  2.   @override
  3.   Widget build(BuildContext context) {
  4.     return Column(
  5.       children: <Widget>[
  6.         Expanded(
  7.           child: Container(
  8.             color: Colors.red,
  9.           ),
  10.         ),
  11.         Expanded(
  12.           child: Container(
  13.             color: Colors.orange,
  14.           ),
  15.         ),
  16.         Expanded(
  17.           child: Container(
  18.             color: Colors.yellow,
  19.           ),
  20.         ),
  21.         Expanded(
  22.           child: Container(
  23.             color: Colors.green,
  24.           ),
  25.         ),
  26.         Expanded(
  27.           child: Container(
  28.             color: Colors.blue,
  29.           ),
  30.         ),
  31.         Expanded(
  32.           child: Container(
  33.             color: Colors.indigo,
  34.           ),
  35.         ),
  36.         Expanded(
  37.           child: Container(
  38.             color: Colors.purple,
  39.           ),
  40.         ),
  41.       ],
  42.     );
  43.   }
  44. }

Saat aplikasi dijalankan, masing-masing container akan menempati ruang kosong yang ada. Jika Anda menjalankan di ukuran layar yang berbeda, maka ukuran container juga akan menyesuaikan.
2020061516111745a046ee02c506aa469a828fe8cb8cdd.jpeg
Bisa kita lihat seluruh container menempati ruang dengan ukuran yang sama. Ini disebabkan Expanded memiliki parameter flex yang memiliki nilai default 1. 
Anda dapat mengubah nilai flex ini sesuai perbandingan yang diinginkan. Misalnya Anda memberikan nilai flex 2 pada salah satu container.


  1. Expanded(

  2.   flex: 2,

  3.   child: Container(

  4.     color: Colors.blue,

  5.   ),

  6. ),



Maka container berwarna biru ini akan menjadi lebih besar dengan perbandingan 2/(1 + 1 + 1 + 1 + 2 + 1 + 1) atau 2/8 dari halaman.

20200615161338103190234521f130325fd1dabc87f651.jpeg
Dokumentasi berikut ini dapat Anda pelajari untuk memaksimalkan penggunaan widget Expanded Class.