2014-01-11 32 views
7

我知道毕加索是一个很棒的图书馆。使用毕加索设置背景资源

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

使用此代码我可以将图像加载到图像视图。

但是可以使用毕加索设置背景资源吗?

回答

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(new BitmapDrawable(context.getResources(),bitmap)),因为示例中显示的代码已被弃用。 – Calvin

+0

是否要求OP。这应该被标记为答案。 @SyamS – Sufian

1

我刚刚和毕加索库周围的工作,我试图把图像作为背景为好。 毕加索图书馆很容易做到这一点,有名称为“FIT()”的方法将为您完成这项工作。

从毕加索的一个魔线是

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

.fit()是卓有成效的,谢谢。

+2

这做甚至工作? 'fit()'只是重新调整图像的大小。不改变它如何应用于目标 – vedant1811

+0

这不是'.fit()'正在做“替换”,它是'.placeholder(Drawable)'正在做它。加载图像后,它将替换您定义为占位符的资源。 – WallyHale

+0

这绝对是**不正确的答案**。 'placeholder'和'fit'不用于改变背景颜色。 – Atul