ScaffoldMessenger
- Flutter kursu
- Orta seviye
- Ders 93/99
- 4 dk
ScaffoldMessenger ile SnackBar göstermeyi öğrenirsin.
ScaffoldMessenger nedir?
ScaffoldMessenger, bir SnackBar göstermek için kullanılan yapıdır. ScaffoldMessenger.of(context).showSnackBar(...) ile kısa süreli bilgi mesajı gösterirsin. SnackBar ekranın altında belirir ve birkaç saniye sonra kendiliğinden kaybolur.
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Kaydedildi')),
);Bu yöntem, kalıcı pencereden farklı olarak kullanıcı akışını bölmez.
SnackBar içeriği
SnackBar'ın content parametresi gösterilecek widget'ı alır; genellikle bir Text'tir. duration parametresi ise mesajın ne kadar süreyle görüneceğini belirler; varsayılan yaklaşık dört saniyedir.
SnackBar(
content: const Text('İşlem başarılı'),
duration: const Duration(seconds: 2),
)Bu widget, ScaffoldMessenger tarafından yönetilen alt çubukta gösterilir.
Uygulama SnackBar göster
BildirimButon adında StatelessWidget tanımla. build bir ElevatedButton döndürsün; onPressed içinde ScaffoldMessenger.of(context).showSnackBar(...) çağrısı yapsın. SnackBar'ın content parametresi Text('Kaydedildi') olsun. main içinde 'hazir' yazdır.
Başlangıç kodu
import 'package:flutter/material.dart';
// BildirimButon StatelessWidget tanımla
// build ElevatedButton döndürsün
// onPressed alt bilgi mesajı göstersin
void main() {
// 'hazir' yazdır
}Örnek çözüm
import 'package:flutter/material.dart';
class BildirimButon extends StatelessWidget {
const BildirimButon({super.key});
@override
Widget build(BuildContext context) {
return ElevatedButton(
onPressed: () {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Kaydedildi')),
);
},
child: const Text('Kaydet'),
);
}
}
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 ScaffoldMessenger.of(context).showSnackBar ne gösterir?
- Bir SnackBar Doğru cevap
- Bir AlertDialog
- Bir ModalBottomSheet
- Bir Drawer
Açıklama: showSnackBar bir SnackBar gösterir; kısa süreli alt bilgi mesajıdır. AlertDialog pencere içindir, ModalBottomSheet alt sayfa içindir, Drawer yan menü içindir; showSnackBar bunları göstermez.
2 ScaffoldMessenger erişimi
____.of(context).showSnackBar(
SnackBar(content: Text('Kaydedildi')),
);
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Kaydedildi')),
);
Açıklama: ScaffoldMessenger.of(context) ile SnackBar gösterilir. Navigator yönlendirme içindir, Scaffold ekran iskeletidir, MaterialApp kök widget'tır; showSnackBar metodu bunlarda yoktur.
3 ScaffoldMessenger parçaları
| Kavram | Anlamı |
|---|---|
ScaffoldMessenger |
mesaj yöneticisi |
showSnackBar |
mesaj gösterme metodu |
SnackBar |
alt bilgi çubuğu |
content |
mesaj içeriği |