ttf - police texte android




android définir une police personnalisée à une peinture (2)

Je veux dessiner un texte sur une peinture. Comment le dessiner avec une police personnalisée ( ex Helvetica ) et en gras également? Je préférerais utiliser une police système et ne pas la créer à partir d'actifs. Merci.


Si vous avez déjà une police en cours d'utilisation et que vous souhaitez en utiliser une version en gras, vous pouvez le faire.

currentPainter = new Paint(Paint.ANTI_ALIAS_FLAG);
currentPainter.setColor(Color.WHITE);
currentPainter.setTextSize(Utils.sp2px(getResources(), 14)); // set font size
Typeface currentTypeFace =   currentPainter.getTypeface();
Typeface bold = Typeface.create(currentTypeFace, Typeface.BOLD);
currentPainter.setTypeface(bold);

J'ai utilisé la réponse ci-dessus, mais cette modification était nécessaire pour moi - alors j'ai pensé le mentionner


Si, par "police personnalisée", vous voulez dire une police que vous fournissez comme un actif, le code suivant devrait fonctionner:

Typeface plain = Typeface.createFromAsset(assetManager, pathToFont); 
Typeface bold = Typeface.create(plain, Typeface.DEFAULT_BOLD)
Paint paint = new Paint();
paint.setTypeface(bold);
canvas.drawText("Sample text in bold",0,0,paint);




paint