Navigator Widget

  • Post Category:Genel
  • Post Comments:0 Yorum

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


Devam

Navigator.maybePop

dönebilirsen dön


Devam

Navigator.popUntil

istiften şuna kadar dön


Devam

Navigator.canPop

dönebiliceksen haber ver ama dönme


Devam

B.push

Navigator.push

 oluştur git


Devam

Navigator.pushNamed

buna git

Devam

Navigator.pushAndRemoveUntil

oluştur git ve istiften şuna kadar sil


Devam

Navigator.pushNamedAndRemoveUntil

buna git istiften şuna kadar sil

Devam

Navigator.pushReplacement

oluştur değiştir git

Devam

Navigator.pushReplacementNamed

buna değiştir git

Devam

B.pop ve push

Navigator.popAndPushNamed

geri dön buna git

Devam

C.remove ve replace

Navigator.removeRoute

Derhal bu sayfayı istiften kaldır

Devam

Navigator.removeRouteBelow

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

Devam

Navigator.replace

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

Devam

Navigator.replaceRouteBelow

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

Devam

Bir cevap yazın