Navigator Widget

Navigator Widget

açıklama

Bir sayfayı ekrana çağırma yöntemleri:

1.İsimlendirilmemiş Sayfa Oluşturarak Gösterme: MaterialPageRoute({ builder, RouteSettings settings, maintainState, fullscreenDialog } ile builder e bir widget atayarak bu widgeti sayfa olarak ekrana basarız.

2.İsimlendirilmiş Sayafalari Gösterme: Material apın aparametrine yani routes’a sayfa/widget isimlerini yol olarak tamınlarız daha sonra bu isimlerile çağırırız

Örnek Rota tanımlama:

    MaterialApp(

                             initialRoute: “/”, // varsayılan ilk açılacak ana sayfa ,

                            routes: {
                                             /sayfabir’: (context) => new SayafaBir(),
                                             ‘/sayfaiki’ : (context) => new SayafaIki(),
                                            ‘/sayfauc’ : (context) => new SayafaUc(),
                                            ‘/sayfadort’ : (context) => new SayafaDort()
                                      },
                     )

MaterialApp in bir parametresi olan routes ‘a, sayfa isimleri yani sayfa yolları ve bu yollara karşılık gelen sayfalar map şeklinde verilerek
Navigator.pushNamed() ın bu sayfa isimlerini kullanarak sayfayı ekarana basmasına olanak sağlanır.
Navigator.pushNamed(context, ‘sayafa yolu’); a basıldığında oluşturulan sayafa Stack değimiz yığında en üste yerleşir.
Bu demektir ki açılan sayfada Navigator.pop(contex)a tıkladığmızda yada appBarda ki geri tuşuna bastığımızda ana sayfaya değil de,
gezindiğimiz bir önceki sayfaya döneriz.Yani yığının altında kalan sayfaya döneriz.
Herhangi bir routes tanımlamadığımız durumlarda anasayfamız materialApp in home parametresine atanmış olan widget olmuş olur,
diğer bir değişle home a atanan widget stack yığınında en alttaki katman olarak, varsayılan uygulama açılış sayfamız olur.

Navigator mantığında da sayafalar yığın(stack) şeklinde saklanır. Geçmiş sayfalara ModalRoute ile ulaşılabilir.

Navigator widget’i nin push yöntemleri ekranı (stackte)yığının üstüne ekler. Doğal olarak, pop yöntemleri bu ekranı yığından kaldırır.
Rotası main.dart içinde isimlendirilerek tanımlanmış herhangi bir sayfayı ekrana basabiliriz.Yani yığının en üstüne iteriz.Daha sonra en son ziyaret edilen yani mevcut ekrandaki sayfadan
kurtulmak istediğimizde, pop yöntemlerini kullanarak Navigator’ın yığınından onu fırlatıp atarız ve bir altındaki sayfa ekrana hortlar :).

Not:Tüm push lar Future döndürür.
tüm poplar bool döndürür. popUntil hariç.

A.pop

Navigator.pop

geri dön

Navigator.maybePop

dönebilirsen dön

Navigator.popUntil

istiften şuna kadar dön

Navigator.canPop

dönebiliceksen haber ver ama dönme

B.push

Navigator.push

 oluştur git

Navigator.pushNamed

buna git

Navigator.pushAndRemoveUntil

oluştur git ve istiften şuna kadar sil

Navigator.pushNamedAndRemoveUntil

buna git istiften şuna kadar sil

Navigator.pushReplacement

oluştur değiştir git

Navigator.pushReplacementNamed

buna değiştir git

B.pop ve push

Navigator.popAndPushNamed

geri dön buna git

C.remove ve replace

Navigator.removeRoute

Derhal bu sayfayı istiften kaldır

Navigator.removeRouteBelow

verilen bir geçmiş sayfa(anchorRoute)nın altındaki sayfayı acilen sil.

Navigator.replace

Verilen bir geçmiş sayfa(oldRoute)ı yeni sayfayla(newRoute) yer değiştir.

Navigator.replaceRouteBelow

verilen bir geçmiş sayfa(anchorRoute)nın altındaki sayfayı sil. yerine yeni sayfa(newRoute) geçir.

Bir cevap yazın

KAPAT
%d blogcu bunu beğendi: