android Jetpack Navigation组件——堆栈操作和动画效果

1、findNavController().navigateUp()

这个方式对导航组件进行的出栈简单粗暴,仅仅是把当前栈顶的组件进行出栈,方法的boolean型返回值表示是否出栈成功。如果如果导航失败的话我们可以主动对组件的出栈进行逻辑上的补救

代码示例

val navigarionResult = findNavController().navigateUp()
println(“是否导航出栈成功:$navigarionResult”)

2、findNavController().popBackStack(R.id.AFragment,false)

这个方法用于执行返回指定页面的操作,例如本例: 进入的时候我们点击AFragment的按钮跳转到BFragment,在BFragment中执行如下代码:

val popBackStack = findNavController().popBackStack(R.id.AFragment,false)
println(“是否返回:$popBackStack”)

就可以指定返回AFragment。

popBackStack的第二个参数说明:

true:从B返回A的时候会把A出栈,然后重新打开A

false:从B返回A的时候A不会出栈,保留跳转到B之前的状态

popUpTo 和 popUpToInclusive

先看一下我们的导航图代码

<?xml version
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值