FixFragmentNavigator是怎么替换FragmentNavigator呢

来源:3-6 app定制Fragment导航器

儒家张良不是我

2021-05-19

图片描述
1、老师这个地方新添加的FixFragmentNavigator,是直接把原来的FragmentNavigator替换了吗?为什么它的名字不是@Navigator.Name(“fragment”),而@Navigator.Name(“fixfragment”)?
2、如果是替换了FragmentNavigator,是不是所有的Fragment都是hide和show呢

写回答

1回答

LovelyChubby

2021-05-19

fragmentNavigator, activityNavigator,DialogfragmentNavigator都是navigator的内置子类。

我们也可以自定义navigator子类,比如
fixfragmentnavigator。每个子类都必须在类头用注解声明自己的类型

我们在使用的时候new  fixfragmentnavigator 把它添加到navigatorController里面去。就可以了。

这样我们首页几个tab切换使用的就是我们自己的fixfragmentnavigator 来跳转的,使用hide show

fixfragmentnavigator 在cresteDestination方法中有一处bug,master已提交解决代码。解决办法就是
fragmentManager.addFragment的时候把tag传递进去即可

0
1
儒家张良不是我
不理解为啥fixfragmentnavigator添加进去,fragment的切换就是用fixfragmentnavigator,而不是使用系统fragmentNavigator,是通过什么标记的
2021-05-22
共1条回复

开发商业级热门短视频App 掌握Jetpack组件库

Jetpack架构大揭秘,全组件实战主流且功能完整的短视频App

1364 学习 · 607 问题

查看课程