Подкрасить изображение, загруженное из сети темным в Android - PullRequest
0 голосов
/ 24 мая 2018

Мне нужно загрузить изображение, подкрасить изображение, чтобы оно стало темным, а затем установить его в качестве фона на LinearLayout.Я пробовал следующий код:

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) {

  }
});

Проблема в том, что изображение не видно, а фон стал полностью черным.Как показать затемненное изображение?

1 Ответ

0 голосов
/ 24 мая 2018

Используйте PorterDuff.Mode.OVERLAY:

bitmapDrawable.setColorFilter(new PorterDuffColorFilter(Color.BLACK, PorterDuff.Mode.OVERLAY));

Вы можете прочитать, как это работает точно здесь .Надеюсь, это поможет!

...