У меня есть следующий код для загрузки изображения в Picasso, используя вытяжку для отображения заполнителя во время загрузки изображения. Однако мне нужен анимированный спиннер в стиле вращающейся шкалы прогресса, который анимируется вокруг и вокруг во время загрузки изображения, как я вижу в большинстве профессиональных приложений. Пикассо, похоже, не поддерживает это, только статические изображения. Есть ли способ заставить его работать с Пикассо или мне нужно сделать что-то другое?
Picasso.with(context).load(url)
.placeholder(R.drawable.loading)
.error(R.drawable.image_download_error)
.into(view);
Я реализовал диалог прогресса до загрузки изображения, и это очень просто. Возьмите ImageView в относительной компоновке и поместите загрузчик прогресса в то же представление изображения. Примените приведенный ниже код и обработайте только видимость диалогового окна прогресса.
Наслаждаться. :)
источник
final Callback loadedCallback = new Callback() { @Override public void onSuccess() { // your code } @Override public void onError() { // your code } }; imageView.setTag(loadedCallback); Picasso.with(context).load(url).into(imageView, loadedCallback);
К сожалению, Пикассо не поддерживает анимированные заполнители.
Один из способов обойти это - разместить ImageView в FrameLayout с анимированным рисунком внизу. Таким образом, когда Picasso загружает изображение, оно загружается поверх анимированного заполнителя, давая пользователю желаемый эффект.
В качестве альтернативы вы можете загрузить изображение в Target . Тогда по умолчанию будет отображаться индикатор выполнения, а при вызове метода onBitmapLoaded вы можете скрыть его и отобразить изображение. Вы можете увидеть базовую реализацию этого здесь
источник
Просто добавьте атрибут формы в ответ DBragion, как показано ниже, и он будет работать как шарм. Удачного кодирования.
Вы также можете использовать Glide:
источник
Я нашел ответ на этот вопрос!
См. Https://github.com/square/picasso/issues/427#issuecomment-266276253
В дополнение к ответу @DBragion попробуйте ниже.
Теперь мы можем исправить высоту и ширину!
Я думаю, есть два ключевых момента.
используйте noFade ()
установите scaleType image_view на "CENTER_INSIDE"
источник
Я заставил это работать следующим образом:
Создал drawable (нашел где-то в Интернете) и поместил его в res / drawable:
В моем элементе для GridView добавлен элемент ProgressBar:
В Адаптер добавлен целевой объект со следующими параметрами, где плакат и счетчик являются ссылками на ImageView и ProgressBar:
// Цель для отображения / скрытия ProgressBar на ImageView
Результаты будут такими же при загрузке - круг вращается (извините за этот снимок экрана, но изображения появляются слишком быстро): ScreenShot
источник
Для тех, кто пытается использовать технику DBragion: убедитесь, что у вас установлена последняя версия Picasso, иначе она не будет вращаться. Моя не работала, пока я не использовал версию 2.5.2.
источник
По этой ссылке Джейк Уортон сказал:
Тогда ты не можешь
источник
Просто используйте Picasso PlaceHolder
источник