[英]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.