🚀 Belajar Desain Layout Responsif & Navigasi Aplikasi Flutter
Halo teman-teman! 👋
Hari ini saya sedang mengajarkan materi seru banget: Desain layout responsif dan navigasi aplikasi.
Kenapa ini penting? Karena di era digital sekarang, aplikasi harus bisa menyesuaikan tampilan di berbagai perangkat (HP, tablet, laptop) dan juga memiliki navigasi yang jelas agar pengguna nggak bingung berpindah halaman.
🌐 Apa itu Layout Responsif?
Layout responsif adalah desain yang beradaptasi otomatis dengan ukuran layar. Jadi, tampilan aplikasi tetap rapi, baik dibuka di layar kecil (smartphone) maupun layar lebar (tablet/desktop).
🔑 Tag/Kode Penting dalam Flutter untuk Responsif:
-
LayoutBuilder
-
Digunakan untuk mengecek ukuran layar dan menampilkan tampilan berbeda.
LayoutBuilder( builder: (context, constraints) { if (constraints.maxWidth < 600) { return Text("Tampilan HP 📱"); } else { return Text("Tampilan Tablet 💻"); } }, );
-
-
Expanded
&Flexible
-
Membantu widget menyesuaikan ruang dalam
Row
atauColumn
.
Row( children: [ Expanded(child: Container(color: Colors.red)), Expanded(child: Container(color: Colors.blue)), ], );
-
-
MediaQuery
-
Untuk mengambil ukuran layar langsung.
double width = MediaQuery.of(context).size.width;
-
🧭 Navigasi Aplikasi
Navigasi adalah cara pengguna berpindah antar-halaman. Tanpa navigasi, aplikasi hanya seperti poster statis.
🔑 Tag/Kode Penting dalam Flutter untuk Navigasi:
-
Navigator.push()
&Navigator.pop()
-
Digunakan untuk berpindah halaman.
Navigator.push( context, MaterialPageRoute(builder: (context) => HalamanBaru()), );
-
-
BottomNavigationBar
-
Cocok untuk aplikasi dengan beberapa menu utama.
BottomNavigationBar( items: const [ BottomNavigationBarItem(icon: Icon(Icons.home), label: "Home"), BottomNavigationBarItem(icon: Icon(Icons.calendar_today), label: "Schedule"), ], );
-
-
NavigationRail
-
Biasanya dipakai di layar lebar (tablet/desktop).
NavigationRail( destinations: const [ NavigationRailDestination(icon: Icon(Icons.list), label: Text("Tasks")), NavigationRailDestination(icon: Icon(Icons.calendar_today), label: Text("Weekly")), ], selectedIndex: 0, onDestinationSelected: (index) {}, );
-
✨ Manfaat Belajar Materi Ini
-
Aplikasi tampil rapi dan nyaman di berbagai ukuran layar.
-
Pengguna bisa mudah berpindah halaman tanpa bingung.
-
Sebagai programmer, kita jadi punya skill profesional yang siap dipakai di dunia kerja.
📌 Jadi, dengan memahami layout responsif dan navigasi aplikasi, kita bisa membuat aplikasi yang bukan hanya berfungsi, tapi juga punya pengalaman pengguna (UX) yang keren dan kekinian.
Full Code main.dart : https://pastecode.io/s/szgtpzos
Link Demo aplikasi : https://zj1b6060lj1b7.zapp.page/#/