在Android中为从网络下载的图像着色
我必须下载一幅图像,将图像着色,使其变暗,然后将其设置为在Android中为从网络下载的图像着色,android,image,picasso,Android,Image,Picasso,我必须下载一幅图像,将图像着色,使其变暗,然后将其设置为线性布局的背景。我尝试了以下代码: Picasso.get().load(url).into(new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), bitmap
线性布局的背景。我尝试了以下代码:
Picasso.get().load(url).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), bitmap);
bitmapDrawable.setColorFilter(new PorterDuffColorFilter(Color.BLACK, PorterDuff.Mode.SRC_IN));
linearLayout.setBackground(bitmapDrawable);
}
@Override
public void onBitmapFailed(Exception e, Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});
问题是图像看不见,背景完全变黑。如何显示变暗的图像?使用PorterDuff.Mode.OVERLAY
:
bitmapDrawable.setColorFilter(new PorterDuffColorFilter(Color.BLACK, PorterDuff.Mode.OVERLAY));
你可以看到它是如何工作的。
希望这有帮助 我试过:BitmapDrawable BitmapDrawable=new BitmapDrawable(getResources(),bitmap);Drawable bitmapCompat=DrawableCompat.wrap(bitmapDrawable);DrawableCompat.setTint(bitmapCompat.mutate(),Color.BLACK);nextItemLayout.setBackground(位图兼容)代码>。我很抱歉我误读了你的问题。我已经修改了我的答案,现在它应该可以工作了:)至少在我测试它时它对我来说是这样的。只要让我知道,如果你得到你想要的结果!现在图像即将出现,但没有深色。