CodeBlanks Logo Icon CodeBlanks

BuildContext

BuildContext'in widget'ın ağaçtaki konumu olduğunu öğrenirsin.

BuildContext

BuildContext, bir widget'ın widget ağacındaki konumunu temsil eder. build metoduna parametre olarak geçirilir ve widget'ın nerede bulunduğunu, kimin ebeveyni olduğunu belirtir. Theme, MediaQuery gibi atasal (ancestor) bilgilere ulaşmak için context kullanılır.

@override
Widget build(BuildContext context) {
  final tema = Theme.of(context);
  return Text('Selam', style: tema.textTheme.bodyLarge);
}

Ancestor'lara erişim

Bir widget, atası (ancestor) olan widget'lardan veri almak için BuildContext'i kullanır. Theme.of(context), ağaçta yukarı çıkarak en yakın MaterialApp'i bulur ve tema bilgisini döndürür. Benzer şekilde MediaQuery.of(context) ekran boyutunu verir.

Widget build(BuildContext context) {
  double genislik = MediaQuery.of(context).size.width;
  return SizedBox(width: genislik, child: Text('Tam'));
}

Uygulama Context kullanımlarını yazdır

main içinde üç satırı print ile yazdır: context konum, Theme tema ve MediaQuery boyut.

Başlangıç kodu

main.dart
void main() {
  // üç satır yazdır:
  // context konum
  // Theme tema
  // MediaQuery boyut

}

Örnek çözüm

main.dart
void main() {
  print('context konum');
  print('Theme tema');
  print('MediaQuery boyut');
}

Beklenen çıktı

context konum
Theme tema
MediaQuery boyut

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 BuildContext neyi temsil eder?

  • Widget'ın rengini
  • Widget'ın boyutunu
  • Widget'ın adını
  • Widget'ın ağaçtaki konumu Doğru cevap

Açıklama: BuildContext, widget'ın widget ağacındaki konumunu temsil eder ve atasal verilere erişim sağlar.

2 Context ile temaya eriş

Soru
final tema = ____.of(context);
Cevap
final tema = Theme.of(context);

Açıklama: Theme.of(context), ağaçtaki en yakın Material temasını döndürür.

3 BuildContext kavramları

Kavram Anlamı
BuildContext Widget'ın ağaçtaki konumu
context build metodunun parametresi
ancestor Ağaçta yukarıdaki widget
Theme.of(context) Atasal temaya erişim

Başlangıç bölümündeki tüm dersler