Navigator.pop
- Flutter kursu
- Başlangıç
- Ders 89/99
- 4 dk
Navigator.pop ile ekrana geri dönmeyi öğrenirsin.
Navigator.pop nedir?
Navigator.pop, yığındaki en üstteki route'u çıkarır ve bir önceki ekrana döner. İlk parametre context'tir. Yeni ekran açmada push kullanılırsa, geri dönmek için pop kullanılır.
Navigator.pop(context);pop ve yığın davranışı
Navigator.pop çağrıldığında en üstteki ekran çıkarılır ve altındaki ekran görünür hale gelir. Eğer yığında yalnızca bir ekran varsa, pop uygulamanın kapanmasına neden olabilir. Bu yüzden en az iki ekran varken pop kullanmak güvenlidir. İkinci bir parametre verilirse, bu değer çağırana result olarak döner.
Uygulama Navigator.pop ile geri dön
kapat adında bir fonksiyon yaz; çağrılınca Ekran kapandi yazdırsın. main içinde kapat'ı çağır. Bir ElevatedButton ekle ve onPressed'da Navigator.pop(context) çağrısı yapsın.
Başlangıç kodu
import 'package:flutter/material.dart';
// kapat fonksiyonu yaz: "Ekran kapandi" yazdirsin
void main() {
// kapat'i cagir
runApp(const Uygulama());
}
class Uygulama extends StatelessWidget {
const Uygulama({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
// ElevatedButton ekle
child: SizedBox(),
),
),
);
}
}Örnek çözüm
import 'package:flutter/material.dart';
void kapat() {
print('Ekran kapandi');
}
void main() {
kapat();
runApp(const Uygulama());
}
class Uygulama extends StatelessWidget {
const Uygulama({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
Navigator.pop(context);
},
child: Text('Kapat'),
),
),
),
);
}
}Beklenen çıktı
Ekran kapandi
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Navigator.pop çağrıldığında hangi ekran kapatılır?
- Yığındaki en üstteki ekran Doğru cevap
- Yığındaki en alttaki ekran
- İlk ekran
- Tüm ekranlar
Açıklama: Navigator.pop yığındaki en üstteki ekranı çıkarır; en alttaki, ilk veya tüm ekranları kapatmaz.
2 context parametresini ekle
Navigator.pop(____, 'Sonuc');
Navigator.pop(context, 'Sonuc');
Açıklama: Navigator.pop'un ilk parametresi context'tir; route, screen veya widget geçerli parametre değildir.
3 pop parametreleri
| Kavram | Anlamı |
|---|---|
Navigator.pop |
Üstteki ekranı kapatır |
context |
pop'un ilk parametresi |
result |
Çağırana dönen değer |
stack |
Ekranların dizisi |