Flutter uchun Yangi boshlanuvchilar


Navigator.of(context).push( MaterialPageRoute(



Download 15,11 Mb.
bet104/115
Sana24.04.2022
Hajmi15,11 Mb.
#580073
1   ...   100   101   102   103   104   105   106   107   ...   115
Bog'liq
Flutter

Navigator.of(context).push( MaterialPageRoute(
quruvchi: (BuildContext kontekst) { qaytish _screen2 (kontekst);
},
),
);
},
)
],
),
);
}

Bu erda siz Navigatorni tekshirishingiz mumkin vidjetga uning Navigator.of yordamida kirish mumkin statik usul. Siz allaqachon bu bilan tanish bo'lasiz va siz taxmin qilganingizdek, bu yo'l biz kirish the mos keladigan Navigator ajdod dan a xos kontekst, va ha, bizda ko'p Navigator bo'lishi mumkin daraxtdagi vidjetlar. Bu ajoyib, chunki biz ilovaning kichik bo'limlarida mustaqil navigatsiyaning turli qismlariga ega bo'lishimiz mumkin.


, keling, RaisedButton -ni ko'rib chiqaylik vidjet yoqilgan Qayta qo'ng'iroq, qaerda biz Durang a yangi Marshrut ichiga the navigatsiya. Kimdan Bu yerga, the qiymat biz o'tish uchun the Durang usul onGenerateRoute dan qaytarilgan usulga o'xshaydi ilgari qo'shilgan Navigatorda qayta qo'ng'iroq qilish .


Kimga umumlashtirish, bizning yuqori Navigator vidjet foydalanadi the onGenerateRoute qayta qo'ng'iroq qilish shunchaki boshlang'ich Marshrutni ta'minlash orqali navigatsiyani ishga tushirish uchun . Keyinchalik, yangi marshrutni surish uchun ekran tugmalari qo'shildi push() tugmasidan foydalanib navigatsiyaga o'ting Navigator usuli vidjet:

// tugmasi yoqilgan ekran 2 uchun navigatsiya qilish orqaga bosilgan: () {


Navigator.of(context).pop();
},
// _NavigatorDirectlyAppState

The _ekran2 vidjet hisoblanadi deyarli teng uchun _screen1 ; the faqat farq hisoblanadi bu bu ochiladi o'zi navigatsiyadan chiqadi va _screen1 ga qaytadi vidjet.


Biroq, oldingi misolda muammo bor. Agar biz Androidda orqaga tugmasini bossak, uchun misol, esa yoqilgan Ekran 2 , biz kerak ket orqaga uchun Ekran 1 kabi a natija, lekin unday emas. Biz Navigatorni qo'shganimizdek vidjetni o'zimiz yaratgan bo'lsak, tizim bundan xabardor emas: biz uni o'zimiz ham boshqarishimiz kerak.
Kimga boshqarish the orqaga tugma, biz kerak uchun foydalanish VidjetlarBindingObserver , qaysi mumkin bo'l Flutter bilan bog'liq hayot tsikli xabarlariga munosabat bildirish uchun ishlatiladi ilova. GitHub-dagi manba kodlarida ko'rib turganingizdek ( navigatsiyada katalog), biz birinchi navbatda ilovamizni Stateful ga aylantirdik va WidgetsBindingObserver qo'shildi davlatimizga aralashish sifatida sinf. Biz kuzatuvchini initState() da ishga tushirdik. WidgetsBinding.instance.addObserver bilan (bu); va WidgetsBinding.instance.removeObserver(bu) bilan kuzatuvchini to'xtatdi; on dispose() . Ushbu sozlash yordamida biz didPopRoute() ni bekor qilishimiz mumkin. usuli
dan VidjetlarBindingObserver va boshqarish nima sodir bo'ladi qachon the tizimi aytadi the marshrutni ochish uchun ilova. didPopRoute () usul hujjatlarda quyidagicha tavsiflanadi:
"[Bu bu] chaqirdi qachon the tizimi aytadi the ilova uchun pop the joriy marshrut. Uchun misol, Androidda bu foydalanuvchi orqaga tugmasini bosganda chaqiriladi."

didPopRoute () ichida usuli uchun biz Navigatorimizdan Marshrutni ochishimiz kerak vidjet. Biroq, biz mumkin emas kirish Navigator orqali uning statik ning usul, kabi biz qil emas bor bu erda kontekst bu erda. Muqobil ravishda Navigatorga kalit qo'shishimiz mumkin va uning holatiga bu yerdan kiring:


// navigation_directly.dart


sinf _NavigatorDirectlyAppState uzaytiradi Holat {

Download 15,11 Mb.

Do'stlaringiz bilan baham:
1   ...   100   101   102   103   104   105   106   107   ...   115




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish