CodeBlanks Logo Icon CodeBlanks

showDialog

showDialog ile modal pencere açmayı öğrenirsin.

showDialog nedir?

showDialog, bir modal pencere açan fonksiyondur. Modal olduğu için kullanıcı arka plan ekranla etkileşemez; pencere kapanana kadar bekler. context ve builder parametreleri alır; builder bir Widget döndürür.

showDialog(
  context: context,
  builder: (context) {
    return AlertDialog(title: Text('Uyarı'));
  },
);

Bu fonksiyon genellikle bir butonun onPressed içinde çağrılır.

context parametresi

showDialog'a verilen context, pencerenin hangi ağaç içinde açılacağını belirler. Bu context genellikle build metodunun context parametresidir. Yanlış context verilirse pencere yine de açılır ama overlay hiyerarşisi beklenmeyen olabilir.

ElevatedButton(
  onPressed: () {
    showDialog(
      context: context,
      builder: (_) => AlertDialog(title: Text('Selam')),
    );
  },
  child: Text('Aç'),
)

Uygulama showDialog ile pencere aç

PencereButon adında StatelessWidget tanımla. build bir ElevatedButton döndürsün; onPressed içinde showDialog çağrısı yapsın. context ve builder parametrelerini ver; builder bir AlertDialog(title: Text('Merhaba')) döndürsün. main içinde 'hazir' yazdır.

Başlangıç kodu

main.dart
import 'package:flutter/material.dart';

// PencereButon StatelessWidget tanımla
// build ElevatedButton döndürsün
// onPressed içinde bir pencere aç

void main() {
  // 'hazir' yazdır
}

Örnek çözüm

main.dart
import 'package:flutter/material.dart';

class PencereButon extends StatelessWidget {
  const PencereButon({super.key});

  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: () {
        showDialog(
          context: context,
          builder: (_) => const AlertDialog(title: Text('Merhaba')),
        );
      },
      child: const Text('Aç'),
    );
  }
}

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 showDialog'ın builder parametresi ne döndürür?

  • Bir Route
  • Bir String
  • Bir Future<int>
  • Bir Widget Doğru cevap

Açıklama: builder, ekranda gösterilecek Widget'ı döndürür; genellikle bir AlertDialog veya SimpleDialog olur. Future<int>, Route ve String builder'ın dönüş türü değildir.

2 showDialog parametresi

Soru
showDialog(
  ____: context,
  builder: (_) => AlertDialog(title: Text('Selam')),
);
Cevap
showDialog(
  context: context,
  builder: (_) => AlertDialog(title: Text('Selam')),
);

Açıklama: showDialog zorunlu olarak context parametresini alır; bu bağlam pencerenin nerede açılacağını belirler. navigator, root ve overlay showDialog'un parametre adları değildir.

3 showDialog parçaları

Kavram Anlamı
showDialog pencere açma fonksiyonu
context bağlam
builder widget üreten fonksiyon
AlertDialog yaygın pencere widget'ı

Orta seviye bölümündeki tüm dersler