路由(route)
:导航(Navigator)
:Navigator
是一个路由管理的组件,它提供了打开和退出路由页方法。[Navigator官方链接]Navigator
常用的路由管理方法包括push
和pop
Future push(BuildContext context, Route route)
pop(BuildContext context, [ T? result ])
push
和pop
进行页面的跳转。Navigator.push(
context,
MaterialPageRoute(builder: (context) => NewPage()),
);
Navigator.pop(context);
maybePop
方法只会在路由堆栈有可弹路由时才会出栈。
Navigator.maybePop(context);
canPop
方法可以判断当前路由堆栈是否可以出栈。
if (Navigator.canPop(context)) {
Navigator.pop(context);
}
pushReplacement
方法可以用于切换路由页面。
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => NewPage()),
);
进入新页面并之前所有页面。
Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (BuildContext context) {
return FourthPage();
}), (route) => false);
routes: {
'/': (context) => const HomePage(),
'/second': (context) => const SecondScreen(),
}
push(BuildContext context, Route route)
将给定的路由入栈(即打开新的页面),返回值是一个Future对象,用以接收新路由出栈(即关闭)时的返回数据。
pushNamed(BuildContext context, String routeName, {Object? arguments,})
将给定的路由名入栈,返回值是一个Future对象,用以接收新路由出栈(即关闭)时的返回数据。
将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据
Navigator
还有很多其他方法,如Navigator.replace
、Navigator.popUntil
等。
其实很简单就下面这张图,含概了Android所有需要学的知识点,一共8大板块:
Android学习的资料
我呢,把上面八大板块的分支都系统的做了一份学习系统的资料和视频,大概就下面这些,我就不全部写出来了,不然太长了影响大家的阅读。需要的小伙伴可以私信我【进阶】我免费分享给大家,或者直接扫描下方二维码领取,谢谢大家这么久以来的支持。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uWpDJ2ds-1679391066561)(C:\Users\admin\Desktop\CSDN引流二维码\1.png)]
Android学习PDF+架构视频+面试文档+源码笔记
如果你有其他需要的话,也可以在GitHub上查看,下面的资料也会陆续上传到Github
330页PDF Android学习核心笔记(内含上面8大板块)
Android学习的系统对应视频
我希望通过我自己的学习方法来帮助大家去提升技术:
1、多看书、看源码和做项目,平时多种总结
2、不能停留在一些基本api的使用上,应该往更深层次的方向去研究,比如activity、view的内部运行机制,比如Android内存优化,比如aidl,比如JNI等,并不仅仅停留在会用,而要通过阅读源码,理解其实现原理
3、同时对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习
4、android的方向也很多,高级UI,移动架构师,数据结构与算法和音视频FFMpeg解码,如果你对其中一项比较感兴趣,就大胆的进阶吧!
进阶学习资料领取方式:
希望大家多多点赞,转发,评论加关注,你们的支持就是我继续下去的动力!加油!