我想使用导航在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。我的意思是说可以看到后退堆栈的弹出是: 在很短的时间内,可以看到登录目标,然后又可以看到先前的目标,然后又可以看到登录目标,这发生得很快,但是在过渡动画中,状态闪烁就可以看到。