Сцена переходного фликера
У меня есть простой вид, содержащий scene root
FrameLayout
, ListView
и пару кнопок внизу.
scene root
используется для загрузки и отображения разных сцен, размер изменяется динамически в зависимости от текущего scene
. ListView
устанавливается в match_parent
в обоих направлениях и находится за scene root
.
Здесь проблема:
Если я начинаю переход с помощью кнопок внизу, все работает нормально, без проблем, магия. Однако, если я перехожу (✝) в другую сцену, прокручивая (✝✝), переход, кажется, мерцает перед запуском.
Похоже, что механизм рендеринга не загружает первый кадр анимации до того, как ListView
аннулирует иерархию из-за прокрутки.
Спасибо за помощь;)
✝ TransitionManager.go(Scene, Transition)
✝✝ Я добавил несколько методов в ListView
, чтобы это позволяло
Ответы
Ответ 1
Все приложения Google, использующие переход сцены, который я видел, переходят из какого-либо элемента в ListView
в его детали Activity
. Поскольку ListView
имеет удобное поведение, сразу же останавливая прокрутку при касании, такой переход не вызывает мерцания.
Таким образом, лучше всего будет программно остановить прокрутку до перехода на новый Activity
, который выполняется с помощью кода здесь.