Я использую Picasso в своем приложении в списке, проблема, с которой я сталкиваюсь, заключается в том, что когда я загружаю изображения с Picasso.with(context).load("file:///path/to/image/in/SD").into(imageView)
и прокручиваю список, w загруженные изображения подталкивают список вверх или вниз, когда изображение загружено, ниже показано, что я пытаюсь сказать.Image place holder with Picasso - Android
item 1
========
item 2
========
item 3
Теперь, скажем, я прокручивается вверх и список остановился в положении 15
item 15 ///Picasso started loading the image but the image isn't ready yet
========
item 16
========
item 17
item 15 //after few milliseconds the image is loaded into the image view
image view is loaded and pushed the list down
---------
| |
| |
| |
---------
========
item 16
========
item 17
Изображения Я все локально сохраненные с их пути в БД. Facebook делает это очень красиво, когда они используют серое изображение, а затем загружают изображение с тем же размером серого заполнителя, и между ними заменяет местозаполнитель на основе изображения.
Вопрос в том, как я могу поместить держатель места, как черный или серый, в качестве держателя места, который имеет тот же размер изображения, который будет загружен после завершения загрузки, чтобы он заменил его, не нажимая список?
Обратите внимание, что использование .placeholder() не является хорошим, потому что размер не будет таким же.
Вы можете установить минимальный и максимальный размер изображения. Таким образом и в сочетании с заполнителем список не будет «прыгать». Но для того, чтобы предоставить местозаполнитель, который динамически по размеру зависит от изображения для загрузки, facebook должен сначала получить размер изображения. Вы тоже можете это сделать. Выбирайте все размеры изображения, добавьте соответственно держатели мест и ленивую загрузку изображений. – JacksOnF1re