ThemeData nedir?
- Flutter kursu
- Orta seviye
- Ders 86/99
- 4 dk
ThemeData ile uygulama geneli tema tanımlamayı öğrenirsin.
ThemeData nedir?
ThemeData, bir Flutter uygulamasının genel görünümünü tanımlayan nesnedir. Renkler, metin stilleri ve widget varsayılanları burada toplanır. MaterialApp'ın theme parametresine bir ThemeData verirsen, tüm uygulamadaki widget'lar bu temayı kullanır.
MaterialApp(
theme: ThemeData(primarySwatch: Colors.blue),
home: Scaffold(body: Center(child: Text('Merhaba'))),
)Bu sayede her ekranda ayrı ayrı renk ve stil belirtmek yerine tek bir yerden yönetirsin.
MaterialApp'e theme bağlama
ThemeData'yı uygulamaya bağlamak için MaterialApp'ın theme parametresini kullanırsın. Bu parametre bir ThemeData nesnesi alır. primarySwatch gibi temel alanları vererek tüm Material widget'larının görünümünü belirlersin.
MaterialApp(
theme: ThemeData(
primarySwatch: Colors.indigo,
),
home: AnaEkran(),
)Bu yapılandırma, AppBar, FloatingActionButton gibi widget'ların varsayılan rengini belirler.
Uygulama ThemeData ile MaterialApp
Uygulama adında bir StatelessWidget tanımla. build metodu bir MaterialApp döndürsün. theme parametresine ThemeData(primarySwatch: Colors.blue) ver ve home olarak Scaffold(body: Center(child: Text('Merhaba'))) kullan. main içinde 'hazir' yazdır.
Başlangıç kodu
import 'package:flutter/material.dart';
// Uygulama StatelessWidget tanımla
// build MaterialApp döndürsün
// theme parametresi tema alsın
void main() {
// 'hazir' yazdır
}Örnek çözüm
import 'package:flutter/material.dart';
class Uygulama extends StatelessWidget {
const Uygulama({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(primarySwatch: Colors.blue),
home: const Scaffold(body: Center(child: Text('Merhaba'))),
);
}
}
void main() {
print('hazir');
}Beklenen çıktı
hazir
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 ThemeData'nın temel amacı nedir?
- Ağ isteği atmak
- Animasyon oynatmak
- Veritabanı bağlantısı kurmak
- Uygulama geneli görünümü tanımlamak Doğru cevap
Açıklama: ThemeData uygulamanın renk, metin ve widget varsayılanlarını tanımlar. Veritabanı, ağ isteği ve animasyon ThemeData'nın konusu değildir.
2 ThemeData tanımı
theme: ____(primarySwatch: Colors.blue),
theme: ThemeData(primarySwatch: Colors.blue),
Açıklama: theme parametresi bir ThemeData nesnesi alır. Navigator yönlendirme içindir, Scaffold ekran iskeletidir, Material bir widget'tır; bunlar tema tanımı değildir.
3 ThemeData parçaları
| Kavram | Anlamı |
|---|---|
ThemeData |
tema tanımı |
colorScheme |
renk paleti |
textTheme |
metin stilleri |
primarySwatch |
ana renk tonu |