如何解决如何在Android导航组件中将深层链接与动画配合使用
重新启动应用程序时,我想导航到最后一页的片段。
例如)MainFragment> UserListFragment> UserDetailFragment
使用NavDeepLinkBuilder创建了深层链接,因为我需要动态创建深层链接。
final PendingIntent pendingIntent = new NavDeepLinkBuilder(requireContext())
.setGraph(R.navigation.nav_graph)
.setDestination(R.id.userDetailFragment)
.createPendingIntent();
pendingIntent.send();
可以正常使用,但是没有动画。
如果我使用Uri的Deeplink,则可以使用NavController#navigate(Uri,NavOptions)。
是否可以在NavDeepLinkBuilder中使用动画?
对不起,我的英语不好。
谢谢。
解决方法
如果您使用的是navigate
,则可以将另一个参数添加为NavOptions
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()
或者您也可以在xml
中创建操作,如下所示
<action
android:id="@+id/action_notes_to_noteDetail"
app:destination="@id/noteDetailFragment"
app:enterAnim="@anim/enter_slide_down"
app:exitAnim="@anim/exit_slide_down"
app:popEnterAnim="@anim/pop_enter_slide_up"
app:popExitAnim="@anim/pop_exit_slide_up" />
有关更多信息,您可以检查此navigation-architecture-component
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。