深度 link 和使用 Android 导航组件的动画
Deep link and animation using Android Navigation component
我正在尝试实施忘记密码流程。我想做的是在应用程序内处理收到的电子邮件,其中包含 link 到忘记密码网页的电子邮件。
我使用导航组件创建了一个深度 link,它打开了正确的片段(带有密码字段的片段)。所以我可以更改密码。单击返回,我 return 到登录屏幕,这是我的导航图的起点。
除动画外,一切正常。当我在目的地之间创建一个动作时,我可以分配 enter/exit/popenter/popexit 动画,但是深度 link 我没有创建任何动作,所以当我向后推时,我到达了预期的片段但没有播放动画。
我试了一下代码,但没有结果,而且我在文档中找不到任何可能的解决方案。
我尝试在导航图中创建一些操作(右键单击目的地有 4 个不同的选项:
- 到目的地(最常见也是我常用的)
- 给自己(我不明白这样做的目的)
- return to sourc(我不明白这样做的目的)
- 全球
None 似乎解决了我的问题。想法?
提前致谢。
您可以在 NavController 中找到
public void navigate(@NonNull Uri deepLink, @Nullable NavOptions navOptions) {
navigate(deepLink, navOptions, null);
}
在 NavOptions 中以与在动作中相同的方式设置动画:
val navOptions =
NavOptions.Builder()
.setPopUpTo(
R.id.nav_graph_main,
false
)
.setEnterAnim(R.anim.slide_in_right)
.setExitAnim(R.anim.slide_out_left)
.setPopEnterAnim(R.anim.slide_in_left)
.setPopExitAnim(R.anim.slide_out_right)
.build()
我正在尝试实施忘记密码流程。我想做的是在应用程序内处理收到的电子邮件,其中包含 link 到忘记密码网页的电子邮件。
我使用导航组件创建了一个深度 link,它打开了正确的片段(带有密码字段的片段)。所以我可以更改密码。单击返回,我 return 到登录屏幕,这是我的导航图的起点。
除动画外,一切正常。当我在目的地之间创建一个动作时,我可以分配 enter/exit/popenter/popexit 动画,但是深度 link 我没有创建任何动作,所以当我向后推时,我到达了预期的片段但没有播放动画。
我试了一下代码,但没有结果,而且我在文档中找不到任何可能的解决方案。
我尝试在导航图中创建一些操作(右键单击目的地有 4 个不同的选项:
- 到目的地(最常见也是我常用的)
- 给自己(我不明白这样做的目的)
- return to sourc(我不明白这样做的目的)
- 全球
None 似乎解决了我的问题。想法? 提前致谢。
您可以在 NavController 中找到
public void navigate(@NonNull Uri deepLink, @Nullable NavOptions navOptions) {
navigate(deepLink, navOptions, null);
}
在 NavOptions 中以与在动作中相同的方式设置动画:
val navOptions =
NavOptions.Builder()
.setPopUpTo(
R.id.nav_graph_main,
false
)
.setEnterAnim(R.anim.slide_in_right)
.setExitAnim(R.anim.slide_out_left)
.setPopEnterAnim(R.anim.slide_in_left)
.setPopExitAnim(R.anim.slide_out_right)
.build()