La réponse de Sam était mon point de départ, mais l'image ne montrent pas, seul le texte (je l'utilise sur une carte Google Map). Enfin je l'ai eu en travaillant avec un LayerDrawable
. Voici ma solution:
private Drawable createMarkerIcon(Drawable backgroundImage, String text,
int width, int height) {
Bitmap canvasBitmap = Bitmap.createBitmap(width, height,
Bitmap.Config.ARGB_8888);
// Create a canvas, that will draw on to canvasBitmap.
Canvas imageCanvas = new Canvas(canvasBitmap);
// Set up the paint for use with our Canvas
Paint imagePaint = new Paint();
imagePaint.setTextAlign(Align.CENTER);
imagePaint.setTextSize(16f);
// Draw the image to our canvas
backgroundImage.draw(imageCanvas);
// Draw the text on top of our image
imageCanvas.drawText(text, width/2, height/2, imagePaint);
// Combine background and text to a LayerDrawable
LayerDrawable layerDrawable = new LayerDrawable(
new Drawable[]{backgroundImage, new BitmapDrawable(canvasBitmap)});
return layerDrawable;
}
ne savez-vous comment faire avec un chemin 9 dessinable, de sorte qu'il peut prendre la taille du texte? – Tsunaze
comment feriez-vous cela puisque BitmapDrawable a été déprécié?!? – M4tchB0X3r
Savez-vous pourquoi l'image n'apparaît pas avec la réponse de Sam? – pptang