recyclerView свитки с задержкой - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть recyclerView с соответствующими родительскими элементами.В элементе recyclerView у меня 48 относительных макетов и фон, и он прокручивается без проблем.Так как я добавил lottie animationView в предметы, recyclerView свитки, но с задержкой.Я пытался изменить размер кэша, приостановить анимацию, когда он отсоединяется от окна, сжать фоновое изображение, используя другой поток, преобразовать изображения в растровое изображение, но это не помогло.

Должен ли я пытаться рисовать представления или что-то подобноеили есть что-то еще, что я могу сделать?

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Попробуй поместить окно рециркулятора в NestedScroll View.а в программе recyclerView положить nestedscrollingEnabled = false.

0 голосов
/ 05 марта 2019

после одной недели поиска и тестирования других способов воспроизведения анимации я обнаружил, что мое решение - использовать другой метод для воспроизведения анимации, такой как gif, но gif имеет прозрачный вид, и если у вас есть анимация, которая имеет прозрачные части, анимация имеет белый цвет.Границу, которую очень удобно использовать, еще один способ сделать это - использовать apng, apng - это анимированная версия png, которая решает проблему прозрачности, но в recyclerView возникают проблемы, например, когда вы прокручиваете recyclerView вверх или вниз по этой анимацииВыйдя из экрана, он остановится, и вы должны настроить анимацию, когда она будет прикреплена к окнам, и это снизит производительность, но каково окончательное решение этой проблемы?WebP.WebP - это формат, созданный Google, и вы можете использовать его в Android с библиотекой fresco и использовать анимированные изображения WebP, у которых нет проблем с прозрачностью и очень высокой производительностью, в действительности размер анимации ниже, чем у лотерейной анимации!и очень прост в использовании, я добавил библиотеку и легко назвал ее:

 DraweeController controller = Fresco.newDraweeControllerBuilder()
            .setUri(yourUri)
            .setAutoPlayAnimations(true)
            .build();

и легко установил контроллер в SimpleDraweeView:

simpleDraweeView.setController(controller);

это было мое решение моего собственного вопросаНадеюсь, это поможет вам.

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