showDialog
- Flutter kursu
- Orta seviye
- Ders 91/99
- 4 dk
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
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
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
showDialog(
____: context,
builder: (_) => AlertDialog(title: Text('Selam')),
);
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'ı |