Je veux une icône Bitmap avec du texte en gras pour la dessiner sur la carte. J'ai un extrait pour écrire du texte sur l'image:
Bitmap icon = BitmapFactory.decodeResource(PropertyMapList.this.getResources(),
R.drawable.location_mark);
TextPaint Paint = new TextPaint();
Paint.setColor(Color.BLACK);
Paint.setTextSize(14);
Paint.setFakeBoldText(true);
//Paint.setTextAlign(Align.CENTER);
Bitmap copy = icon.copy(Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(copy);
//canvas.drawText(jsonObj.getString("district_name"), 5, canvas.getHeight()/2, Paint);
String districtName = jsonObj.getString("district_name");
StaticLayout layout = new StaticLayout((districtName.length()>25 ? districtName.substring(0, 24)+"..":districtName)+"\n"+jsonObj.getString("total_properties"), Paint, canvas.getWidth()-10,Layout.Alignment.ALIGN_CENTER, 1.3f, 0, false);
canvas.translate(5, canvas.getHeight()/2); //position the text
layout.draw(canvas);
setFakeBoldText(true)
ne fonctionne pas pour moi. J'aimerais que le texte dessiné sur le bitmap soit en gras.
Utilisez la méthode setTypeface
sur votre objet Paint
pour définir la police sur quelque chose avec le style gras activé.
Paint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD));
Pour les polices personnalisées:
Typeface typeface = Typeface.create(Typeface.createFromAsset(mContext.getAssets(), "fonts/bangla/bensen_handwriting.ttf"), Typeface.BOLD);
Pour les polices normales:
Typeface typeface = Typeface.create(Typeface.DEFAULT, Typeface.BOLD);
et alors
Paint.setTypeface(typeface);