[英]How can I use deep link with animation in Android Navigation Component
我想在重新启动应用程序时导航到最后一页片段。
例如)MainFragment > UserListFragment > UserDetailFragment
使用 NavDeepLinkBuilder 我创建了深层链接,因为我需要动态创建深层链接。
final PendingIntent pendingIntent = new NavDeepLinkBuilder(requireContext())
.setGraph(R.navigation.nav_graph)
.setDestination(R.id.userDetailFragment)
.createPendingIntent();
pendingIntent.send();
它按预期工作,但没有 animation。
如果我使用 Uri 的深度链接,我也许可以使用 NavController#navigate(Uri, NavOptions)。
有没有办法将 animation 与 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" />
有关更多信息,您可以查看此导航架构组件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.