CodeBlanks Logo Icon CodeBlanks

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.

Başlangıç kodu

main.dart
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

main.dart
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

Soru
____.of(context).showSnackBar(
  SnackBar(content: Text('Kaydedildi')),
);
Cevap
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

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