android définir une police personnalisée à une peinture

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, 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); 

Utilisez ceci pour la classe de peinture:

  Paint paint = new Paint(); paint.setTypeface(Typeface.create("Arial",Typeface.ITALIC)); 

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é que je le mentionnerais