android définir une police personnalisée sur une peinture
91
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.
oui, j'ai besoin de la peinture pour définir certains styles ...
Buda Gavril
Comment définir la police en fonction des paramètres régionaux, par exemple pour l'anglais, nous voulons utiliser arial.ttf et pour le coréen, je veux utiliser gothic_B.ttf. Comment c'est possible avec de la peinture sur toile dans Android
Dwivedi Ji
@DwivediJi: Avez-vous essayé de publier cela comme une question StackOverflow, au lieu d'un commentaire sur la question de quelqu'un d'autre?
Michael Scheper
Réponses:
164
Si par "police personnalisée" vous entendez une police que vous fournissez en tant qu'actif, le code suivant devrait fonctionner:
Typeface plain =Typeface.createFromAsset(assetManager, pathToFont);Typeface bold =Typeface.create(plain,Typeface.DEFAULT_BOLD)Paint paint =newPaint();
paint.setTypeface(bold);
canvas.drawText("Sample text in bold",0,0,paint);
Helvetica n'est pas installé, mais j'ai utilisé certaines polices installées pour comparer. Si j'utilise une police à partir d'actifs, avez-vous une idée de la façon de mettre en gras?
Canvas
?Réponses:
Si par "police personnalisée" vous entendez une police que vous fournissez en tant qu'actif, le code suivant devrait fonctionner:
la source
Typeface plain = Typeface.createFromAsset(assetManager, pathToFont); Typeface bold = Typeface.create(plain, Typeface.DEFAULT_BOLD)
.getContext().getAssets()
?Typeface.DEFAULT_BOLD
m'a également posé des problèmes, mais je suis passé auTypeface.BOLD
travailSi vous utilisez les nouvelles polices d'Android en XML pour vos polices, vous pouvez utiliser pour obtenir la police utilisée pour la peinture:
ou si votre API Android minimale> = 26
Ensuite, pour l'appliquer sur votre objet peinture:
Pour plus d'informations, consultez https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml#fonts-in-code
la source
Utilisez ceci pour la classe de peinture:
la source
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.
J'ai utilisé la réponse ci-dessus, mais cette modification était nécessaire pour moi - alors j'ai simplement pensé que je la mentionnerais
la source
Si vous souhaitez utiliser une police à partir de ressources (Kotlin):
Cela n'est peut-être pas lié à la question, mais c'est ce que je cherchais - peut-être que quelqu'un en aurait besoin aussi.
la source