美文网首页Android
更改Navigation fragment 由replace为a

更改Navigation fragment 由replace为a

作者: little873 | 来源:发表于2020-09-23 19:51 被阅读0次

navigation+viewmodel的模式使用replace可以适配大部分场景,但是有些场景却异常的不方便,例如A页面是个可折叠的列表,在跳转B页面后返回,A页面的折叠状态被重置了,当然我可以在viewmodel保存页面的显示状态,但是总会觉得有一些得不偿失,所以就考虑使用add的形式去实现navigation的页面切换.

在网上找轮子发现没有匹配的,参考了一些项目和文章就自己写了个轮子KeepStateNavigator,设计是考虑尽量不更改FragmentNavigator方法本身的意义,并且满足原本Animations,Argument,Pop Behavipr,Launch Options所支持的特性

sample: HostFragment->A->B-(popUpTo HostFragment,inclusive:false)->C

参考

https://github.com/STAR-ZERO/navigation-keep-fragment-sample

https://juejin.im/post/6844903896104747022

相关文章

网友评论

    本文标题:更改Navigation fragment 由replace为a

    本文链接:https://www.haomeiwen.com/subject/ziicdttx.html