Flutter
ScaffoldMessenger
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.
Örnek çözümü göster
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');
}
Kendini test et
-
ScaffoldMessenger.of(context).showSnackBar ne gösterir?
- Bir SnackBar
- Bir AlertDialog
- Bir ModalBottomSheet
- Bir Drawer
Cevabı göster
Bir SnackBar — 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.
-
ScaffoldMessenger erişimi
____.of(context).showSnackBar(
SnackBar(content: Text('Kaydedildi')),
);
Cevabı göster
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Kaydedildi')),
);
-
ScaffoldMessenger parçaları
- ScaffoldMessenger
- mesaj yöneticisi
- showSnackBar
- mesaj gösterme metodu
- SnackBar
- alt bilgi çubuğu
- content
- mesaj içeriği
Sıradaki ders: ModalBottomSheet