Android导航组件popUpTo闪烁

时间:2018-09-10 11:56:36

标签: android android-architecture-navigation

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

当用户启动应用程序时,将显示一个欢迎屏幕,其中包含一个应该进入登录屏幕的按钮。

用户单击该按钮后,他将进入登录屏幕,并且需要删除后退堆栈,因此当用户单击“后退”按钮时,他将完全退出应用程序,而不是上一个屏幕。

我已经实现了此工作流程并且可以工作,但是问题是,单击按钮后弹出的堆栈对用户可见。

<?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>

PS。我的意思是说可以看到后退堆栈的弹出是: 在很短的时间内,可以看到登录目标,然后又可以看到先前的目标,然后又可以看到登录目标,这发生得很快,但是在过渡动画中,状态闪烁就可以看到。

0 个答案:

没有答案