Voglio cambiare il carattere della mia visualizzazione di testo da Roboto normale a Roboto condensato. TextView è in un Widget e quindi sto usando un RemoteView. Se è un'applicazione, possiamo impostarla con typeFace. Cosa devo fare per quello?Cambiare il carattere da Roboto normale a Roboto condensato
6
A
risposta
3
ho la risposta ora. Quello che dobbiamo fare è rendere il carattere su una tela e poi passarlo a una bitmap e assegnarlo a una vista di immagini
public Bitmap buildUpdate(String time)
{
Bitmap myBitmap = Bitmap.createBitmap(160, 84, Bitmap.Config.ARGB_4444);
Canvas myCanvas = new Canvas(myBitmap);
Paint paint = new Paint();
Typeface clock = Typeface.createFromAsset(this.getAssets(),"robonto_condunced.ttf");
paint.setAntiAlias(true);
paint.setSubpixelText(true);
paint.setTypeface(clock);
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.WHITE);
paint.setTextSize(65);
paint.setTextAlign(Align.CENTER);
myCanvas.drawText(time, 80, 60, paint);
return myBitmap;
}
1
Basta usare il carattere tipografico. Ecco un esempio
private void setFonts() { // Setting all fonts
Typeface face = Typeface.createFromAsset(this.getAssets(),
"fonts/DroidSerif-Bold.ttf");
mMonthTextView.setTypeface(face);
mAgeTextView.setTypeface(face);
mHeightAndWeightTextView.setTypeface(face);
}
Si deve mettere quel font nelle attività/fonts/cartella
Sto usando un RemoteView per un widget. Quindi non posso ottenere la visualizzazione del testo direttamente nel mio codice. Non possiamo impostare direttamente il tipo di carattere nell'xml? – Kamalone
Penso che non sia possibile. Possiamo solo cambiare lo stile in grassetto o in corsivo. Se vuoi farlo in xml devi creare una visualizzazione testo personalizzata. Ma ci vorrà del tempo per farlo. –