Tema & Styling Aplikasi
Mengatur warna dan gaya seluruh aplikasi dengan ThemeData dan ColorScheme, lalu memakainya lewat Theme.of(context).
Mengapa tema?
Bayangkan mengecat ulang warna utama aplikasi: tanpa tema kamu harus mengubah puluhan widget satu per satu. Dengan tema, kamu menentukan warna dan gaya sekali di satu tempat, dan seluruh aplikasi mengikutinya.
ThemeData di MaterialApp
MaterialApp(
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.teal),
useMaterial3: true,
),
home: const Halaman(),
)
ColorScheme.fromSeedmembuat satu set warna serasi (utama, latar, aksen, teks) hanya dari satu warna benih. Kamu tidak perlu memilih belasan warna sendiri.useMaterial3: truememakai tampilan Material 3 yang modern.
Memakai tema di widget
Ambil tema terdekat dengan Theme.of(context):
Text(
'Judul Besar',
style: Theme.of(context).textTheme.headlineMedium,
)
Container(
color: Theme.of(context).colorScheme.primaryContainer,
child: ...,
)
textThemeberisi gaya teks siap pakai:headlineMedium(judul),titleLarge,bodyMedium(isi biasa), dan lain-lain.colorSchemeberisi warna tema:primary,primaryContainer,secondary,surface,error.
Keuntungan
- Mengganti
Colors.tealmenjadiColors.indigodi satu tempat mengubah seluruh aplikasi. - Mudah membuat mode gelap: tambahkan
darkTheme: ThemeData(brightness: Brightness.dark, ...). - Tampilan konsisten, karena semua widget memakai sumber gaya yang sama.
Aturan praktis: jangan menulis warna langsung (hard-code) di setiap widget; ambil dari tema.