Flutter’da “back stack” kavramı, genellikle navigasyon yönetimiyle ilişkilendirilen bir terimdir. Back stack, kullanıcının uygulama içindeki ekranları geçerken geçmişte ziyaret ettiği ekranları tutan bir veri yapısıdır. Bu, geri düğmesine basıldığında veya belirli bir geri dönme işlemi gerçekleştirildiğinde geçmişteki ekranlara geri dönmek için kullanılır.

Flutter’da back stack’i yönetmek için genellikle Navigator sınıfı ve PageRoute sınıfları kullanılır. Navigator sınıfı, ekranların yönetimi ve geçişleri için kullanılırken, PageRoute sınıfları, farklı ekranların tanımlandığı ve yönlendirildiği sınıflardır.

MaterialApp(
home: Navigator(
onGenerateRoute: (settings) {
return MaterialPageRoute(
builder: (context) => HomeScreen(),
);
},
),
);

Yukarıdaki örnekte, MaterialApp widget’ı içinde bir Navigator widget’ı yer alıyor. Navigator widget’ı, onGenerateRoute parametresini kullanarak ekran geçişlerini yönetir. Bu örnekte, MaterialPageRoute kullanarak HomeScreen widget’ını geçiş ekranı olarak tanımlıyoruz.

// Mevcut ekranı yeni bir ekranla değiştirmek için:
Navigator.push(
context,
MaterialPageRoute(builder: (context) => NewScreen()),
);

// Geri düğmesine basıldığında önceki ekrana dönmek için:
Navigator.pop(context);

Yukarıdaki örnekte, Navigator.push() metodu ile mevcut ekrana yeni bir ekran ekliyoruz. Bu, back stack’e bir ekran ekler ve kullanıcı yeni ekrana geçer. Navigator.pop() metodu ise geri düğmesine basıldığında veya belirli bir geri dönme işlemi yapıldığında önceki ekrana geri dönmek için kullanılır. Bu, back stack’te bir öğe çıkarır ve kullanıcı önceki ekrana döner.

Bu örnek, temel olarak back stack kullanımını göstermektedir. Elbette, daha karmaşık navigasyon senaryoları için farklı yöntemler ve paketler de kullanılabilir. Ancak, temel navigasyon yönetimi için Flutter’ın sağladığı Navigator sınıfı ve PageRoute sınıfları oldukça yeterlidir.

ETİKETLER :

YORUMLAR

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir