Android 导航组件 popUpTo 闪烁

ant*_*kas 7 android android-architecture-navigation

我想使用导航在 2 个状态之间进行简单的转换,但我有 1 个问题:

当用户启动应用程序时,会出现一个带有 1 个按钮的欢迎屏幕,该按钮应进入登录屏幕。

用户单击该按钮后,他将被带到登录屏幕,并且需要删除 backstack,因此当用户单击后退按钮时,他将完全退出应用程序而不是前一个屏幕。

我已经实现了这个工作流程并且它有效,但问题是点击按钮弹出堆栈后对用户可见。

<?xml version="1.0" encoding="utf-8"?>
<navigation
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/welcome_nav"
    app:startDestination="@id/welcome_fragment">

    <fragment
        android:id="@+id/welcome_fragment"
        android:name="com.domain.example.WelcomeFragment"
        android:label="WelcomeFragment"
        tools:layout="@layout/welcome_screen">
        <action
            android:id="@+id/action_to_login_nav"
            app:destination="@id/access_nav"
            app:enterAnim="@anim/nav_default_enter_anim"
            app:exitAnim="@anim/nav_default_enter_anim"
            app:popUpTo="@id/welcome_fragment"
            app:popUpToInclusive="true" />
    </fragment>

    <include app:graph="@navigation/login_nav" />

</navigation>
Run Code Online (Sandbox Code Playgroud)

附注。我说backstack的弹出是可见的意思是:在短时间内登录目的地可见,然后上一个目的地再次可见,然后登录目的地再次可见,这发生得很快,但随着过渡动画,它可见状态闪烁。