1
有没有方法将位图叠加到XML可绘制的形状上?我想把一个图标放在椭圆形的上面。可绘制XML叠加形状
有没有方法将位图叠加到XML可绘制的形状上?我想把一个图标放在椭圆形的上面。可绘制XML叠加形状
public static Bitmap overlayBitmapToCenter(Bitmap bitmap1, Bitmap bitmap2) {
int bitmap1Width = bitmap1.getWidth();
int bitmap1Height = bitmap1.getHeight();
int bitmap2Width = bitmap2.getWidth();
int bitmap2Height = bitmap2.getHeight();
float marginLeft = (float) (bitmap1Width * 0.5 - bitmap2Width * 0.5);
float marginTop = (float) (bitmap1Height * 0.5 - bitmap2Height * 0.5);
Bitmap overlayBitmap = Bitmap.createBitmap(bitmap1Width, bitmap1Height, bitmap1.getConfig());
Canvas canvas = new Canvas(overlayBitmap);
canvas.drawBitmap(bitmap1, new Matrix(), null);
canvas.drawBitmap(bitmap2, marginLeft, marginTop, null);
return overlayBitmap;
}
是的,有。使用LayerDrawable。 –
不,你不能在XML中这样做,使用'RoundedBitmapDrawable'或类似的'Drawable'代替 – pskink
@pskink所以,[this](https://developer.android.com/guide/topics/resources/drawable-resource.html #LayerList)是完全错误的,*在你看来*?当然,**可以**在LayerDrawable中混合xml drawable和位图。 –