2016-11-24 4 views
1

Есть ли способ наложить растровое изображение на фигуру в XML-чертеже? Я хочу поставить значок поверх овальной формы.Оверлейные фигуры в XML-чертеже

+1

Да, есть. Используйте LayerDrawable. –

+0

нет, вы не можете сделать это в xml, используйте 'RoundedBitmapDrawable' или аналогичный' Drawable' вместо – pskink

+0

@pskink Итак, [это] (https://developer.android.com/guide/topics/resources/drawable-resource.html #LayerList) совершенно неверно, * на ваш взгляд *? Конечно, ** вы можете комбинировать xml-рисунки и растровые изображения в LayerDrawable. –

ответ

0
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; 
} 
Смежные вопросы