При использовании WebViews для отображения содержимого HTML и использовании нового действия для отображения новой страницы состояние всех WebViews автоматически сохраняется и восстанавливается операционной системой при открытии/закрытии нового действия WebView. Это приводит к непрерывной обратной навигации пользователя.
При этом мне интересно, можно ли воспроизвести такой опыт при использовании Jetpack Compose Navigation или любой из сторонних библиотек, которые обернуть вокруг него, чтобы предоставить API навигации высокого уровня? Если я правильно понимаю, проблема заключается в том, что в архитектуре с одним действием Composables полностью удаляются и воссоздаются. Нам необходимо сохранять постоянное состояние в компоненте, учитывающем жизненный цикл, таком как ViewModel. Проблема в том, что я не смог найти способ сделать это с помощью WebView, даже с тем, который предоставляется библиотекой Accompanist. Отсутствие полного восстановления состояния приводит к потере загруженной в данный момент страницы при переходе назад, а также позиции прокрутки, что сильно ухудшает пользовательский опыт. Я пробовал экспериментировать с методами saveState и restoreState класса WebView, но безрезультатно. Поэтому я был бы очень признателен, если бы кто-нибудь показал рабочий пример того, как можно полностью сохранить и восстановить состояние WebView при обратной навигации при использовании API навигации Compose.
Подробнее здесь: https://stackoverflow.com/questions/733 ... navigation
Как сохранить состояние WebView в Jetpack Compose Navigation? ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение