android - Android导航组件popUpTo闪烁
问题描述
我想使用导航在 2 个状态之间进行简单转换,但我有 1 个问题:
当用户启动应用程序时,会出现一个欢迎屏幕,其中包含 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。我的意思是说后台堆栈的弹出是可见的:在很短的时间内登录目标是可见的,然后以前的目标再次可见,然后登录目标再次可见,这发生得很快,但是随着过渡动画它可见状态闪烁。
解决方案
推荐阅读
- javascript - 最简单的方法 - 仅在 ajax-request 函数完成时调用函数 - 回调,承诺
- c# - SMTP 服务器需要安全连接或客户端未通过身份验证。如何在我的 gmail 帐户上接收电子邮件。?
- mysql - 使用 FIND_IN_SET 的整体排名,但部门明智的排名查询不工作
- android - Espresso 暂停从第三方库启动的活动
- javascript - 导出服务器端功能供客户端使用
- java - 从 Java API 访问 keycloak 角色/用户属性
- c - 如何使用预处理器缩短这些行?
- cordova - 科尔多瓦平台添加ios问题
- postgresql - 用于填充缺失行的滞后函数
- qt - openGL - 无法显示图像