38
Desidero un'icona Bitmap con testo in grassetto per disegnarla sulla mappa. Ho un frammento per scrivere il testo sull'immagine:Come disegnare il testo in grassetto su una bitmap?
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)
non funziona per me. Vorrei che il testo disegnato sulla bitmap fosse in grassetto.
Puoi spiegare poco chiaro? –
setTypeface consente di impostare un font. I font hanno stili, come grassetto, corsivo, ecc. Puoi guardare i costruttori per il carattere tipografico e vedere come creare un font con quello stile. Una volta creato e impostato tramite questa chiamata, tutti i futuri comandi di disegno con questa vernice useranno quel tipo di carattere. –
Ho provato 6 o 7 risposte, e questa era l'unica che funzionava davvero. – durbnpoisn