2014-01-11 2 views
7

Я знаю, что Пикассо - это потрясающая библиотека для воспроизведения изображений.Установить фоновый ресурс с помощью Picasso

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView); 

с помощью этого кода я могу загрузить изображение в режим просмотра изображений.

Но можно ли установить фоновый ресурс, используя Picasso?

ответ

12

Javadoc для RequestCreator класса Пикассо имеет следующий пример:

public class ProfileView extends FrameLayout implements Target { 
    @Override 
    public void onBitmapLoaded(Bitmap bitmap, LoadedFrom from) { 
     setBackgroundDrawable(new BitmapDrawable(bitmap)); 
    } 

    @Override public void onBitmapFailed() { 
     setBackgroundResource(R.drawable.profile_error); 
    } 
} 
+4

Используйте setBackground (новый BitmapDrawable (context.getResources(), bitmap)), поскольку код, показанный в примере, устарел. – Calvin

+0

Делает то, о чем попросил ОП. Это должно быть отмечено как ответ. @SyamS – Sufian

1

Я просто имел работу вокруг с библиотекой Пикассо, я пытающийся установить изображение в качестве фона, а также. Библиотека Picasso очень упростила это, существует метод по имени «FIT()», который будет выполнять эту работу за вас.

Одна волшебная линия от Пикассо

Picasso.with(context).load(mImageURLS.get(position)) 
       .fit().placeholder(R.drawable.rtrt).into(mImageDownloader); 

.Поставить() делает трюк, спасибо.

+2

это даже работает? 'fit()' просто изменяет размер изображения. Не изменяет, как он применяется к цели. – vedant1811

+0

Это не «.fit()», который выполняет «замену», это «placeholder» («Drawable»), который это делает. После загрузки изображения он заменяет ресурс, который вы определяете как заполнитель. – WallyHale

+0

Это определенно ** неправильный ответ **. 'placeholder' и' fit' не предназначены для изменения цвета фона. – Atul

Смежные вопросы