Глубокая ссылка и анимация с использованием Android Навигационный компонент - PullRequest
1 голос
/ 02 марта 2020

Я пытаюсь реализовать поток забытых паролей. Я хотел бы обработать полученное письмо, содержащее ссылку на веб-страницу забытого пароля, внутри приложения.

Используя компонент навигации, я создал глубокую ссылку, которая открывает правый фрагмент (тот, что с полем пароля). Так что я могу сменить пароль. Нажав обратно, я возвращаюсь к экрану входа в систему, который является начальной точкой моего графика навигации.

Все работает, как и ожидалось, за исключением анимации. Когда я создаю действие между пунктами назначения, я могу назначить анимацию ввода / выхода / popenter / popexit, но с помощью глубокой ссылки я не создаю никакого действия, поэтому, когда я возвращаюсь sh, я достигаю ожидаемый фрагмент, но анимация не воспроизводится.

Я попытался немного поиграть с кодом, но без результатов, и я не могу найти какое-либо возможное решение в документации.

Я попытался создать некоторые действия в моем навигационном графике (есть 4 различных варианта щелчка правой кнопкой мыши по пункту назначения:

  • до пункта назначения (самый распространенный и тот, который я обычно использую)
  • к себе (я не понимаю цели этого)
  • возврат к кислому c (я не понимаю цели этого)
  • global

Кажется, никто из них не решил мою проблему. Идеи? Заранее спасибо.

1 Ответ

1 голос
/ 16 апреля 2020

Вы можете найти в NavController

public void navigate(@NonNull Uri deepLink, @Nullable NavOptions navOptions) {
    navigate(deepLink, navOptions, null);
}

В NavOptions установите анимацию так же, как в действии:

val navOptions =
    NavOptions.Builder()
        .setPopUpTo(
            R.id.nav_graph_main,
            false
        )
        .setEnterAnim(R.anim.slide_in_right)
        .setExitAnim(R.anim.slide_out_left)
        .setPopEnterAnim(R.anim.slide_in_left)
        .setPopExitAnim(R.anim.slide_out_right)
        .build()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...