У меня есть список, отображающий кучу изображений. am using Universal Image Loader чтобы загрузить это изображения из файлов в изображение.Как избежать мерцания изображения в списке просмотров
Эти изображения имеют разные размеры, и я хочу, чтобы все они имели одинаковую ширину, но различную высоту относительно каждого пропорции изображения.
Для достижения этой цели, я попытался установить следующее моей ImageView
<ImageView
android:layout_width = "400dp"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:adjustViewBounds="true"/>
Проблема этого метод состоит в том, что есть много мерцания, когда один прокручивает ListView, поскольку высота ImageView не известно заранее и изображения сначала нужно масштабировать, используя мою ширину, чтобы рассчитать каждую высоту изображения по отношению к ее формату.
Как я могу рассчитать каждую высоту изображения заблаговременно вместо того, чтобы позволить обработать изображение?
Если у меня есть изображение 400 X 700, и я хочу, чтобы изображение было шириной 300 пикселей, как я могу рассчитать высоту изображения с помощью моего измерения изображения и сохранить соотношение сторон изображения? это может помочь избежать мерцания при прокрутке списка.
Почему бы вам не установить фиксированную высоту тоже? и использовать анимации, как довольно угасать, чтобы сделать ее более сильной? Рацион сохраняется параметром scaleType :) –
@ Ан-дроид я не хочу устанавливать фиксированную высоту. Я пытаюсь добиться того, что изображение делает в фоновом режиме. если вы установите фиксированную ширину и установите высоту на ** wrap content **, она масштабирует изображение и вычисляет высоту. но я хочу рассчитать высоту заранее, чтобы пользователь не увидел этого уродливого изменения размера изображения при прокрутке изображений. –
В хорошо известных приложениях, таких как Spotify, большинство изображенийViews просто устанавливаются с фиксированными размерами или симуляцией и scaleType устанавливается на centerCrop. Что оно делает ? изображение заполнит все пространство, которое вы ему даете, и будет пропорционально изменено в соответствии с ее высотой. Это хорошо, потому что вы не знаете, какие устройства будут использовать ваше приложение, с какой плотностью ... с использованием фиксированной ширины, достаточно грязной и опасной. Я думаю, что –