Всплывающий компонент навигации Android для мерцания - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу сделать простой переход между двумя состояниями, используя навигацию, но у меня есть 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>

PS. То, что я имею в виду, говоря о том, что всплытие backstack является видимым, таково: В течение короткого промежутка времени место входа в систему становится видимым, затем снова появляется место назначения для входа в систему, а затем место назначения для входа снова становится видимым, это происходит быстро, но с анимацией перехода оно отображается как мерцание состояния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...