Flutter
textTheme
TextTheme ile başlık ve gövde stillerini öğrenirsin.
TextTheme nedir?
TextTheme, uygulamadaki metin stillerini tek bir yerden tanımlamanı sağlar. bodyLarge büyük gövde metni, headlineLarge büyük başlık gibi alanlar içerir. ThemeData'nın textTheme parametresine bir TextTheme verirsen, tüm Text widget'ları varsayılan olarak bu stilleri kullanır.
ThemeData(
textTheme: const TextTheme(
bodyLarge: TextStyle(fontSize: 16),
),
)
Bu yaklaşım, metin tutarlılığını kolayca sağlar.
bodyLarge ve headlineLarge
TextTheme içinde her metin rolü için bir alan vardır. bodyLarge büyük gövde metni için, headlineLarge ise büyük başlıklar içindir. Her alan bir TextStyle alır; burada yazı boyutu, kalınlık ve renk ayarlanır.
const TextTheme(
bodyLarge: TextStyle(fontSize: 16),
headlineLarge: TextStyle(fontSize: 32, fontWeight: FontWeight.bold),
)
Bu stilleri Theme.of(context).textTheme üzerinden widget'lara uygularsın.
Uygulama TextTheme ile tema
Uygulama adında bir StatelessWidget tanımla. build metodu bir MaterialApp döndürsün. theme parametresine bir ThemeData ver; bu ThemeData'nın textTheme alanı bir TextTheme olsun ve içinde bodyLarge: TextStyle(fontSize: 16) bulunsun. home olarak Scaffold(body: Center(child: Text('Merhaba'))) kullan. main içinde 'hazir' yazdır.
Örnek çözümü göster
import 'package:flutter/material.dart';
class Uygulama extends StatelessWidget {
const Uygulama({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
textTheme: const TextTheme(
bodyLarge: TextStyle(fontSize: 16),
),
),
home: const Scaffold(body: Center(child: Text('Merhaba'))),
);
}
}
void main() {
print('hazir');
}
Kendini test et
-
TextTheme hangi türden verileri içerir?
- Metin stilleri
- Buton stilleri
- Navigasyon yolları
- Veritabanı tabloları
Cevabı göster
Metin stilleri — TextTheme TextStyle nesnelerini içerir; bodyLarge, headlineLarge gibi alanlar metin stillerini tutar. Navigasyon, buton stilleri ve veritabanı TextTheme ile ilgili değildir.
-
TextTheme alanı
const TextTheme(
____: TextStyle(fontSize: 16),
),
Cevabı göster
const TextTheme(
bodyLarge: TextStyle(fontSize: 16),
),
-
TextTheme parçaları
- TextTheme
- metin stilleri kümesi
- bodyLarge
- büyük gövde stili
- headlineLarge
- büyük başlık stili
- TextStyle
- tek metin stili
Sıradaki ders: Theme.of