Я работаю над маскирующим изображением с цветными фигурами. мой код работает на всех устройствах, кроме Android-пирог версии устройства, форма не применяется должным образом.
Я пытался изменить PorterDuffXfermode, но он не работает
мой метод маскировки изображения
public void makeMaskImage(ImageView mImageView, Drawable drawable, int color{
color_maskimage.setVisibility(View.VISIBLE);
image_maskimage.setVisibility(View.GONE);
mask = drawableToBitmap(drawable);
Bitmap original = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(original);
canvas.drawColor(color);
maskbackgroundcolor = color;
background_img.setBackgroundResource(0);
background_img.setBackgroundColor(color);
Bitmap maskedbitmap = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(), Bitmap.Config.ARGB_8888);
Canvas mCanvas = new Canvas(maskedbitmap);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
mCanvas.drawBitmap(original, 0, 0, null);
mCanvas.drawBitmap(mask, 0, 0, paint);
Drawable d = new BitmapDrawable(getResources(), maskedbitmap);
mImageView.setBackground(d);
}
Выход Android пирога
Ниже добычи Андорид Орео