Android establece una fuente personalizada en una pintura
91
Quiero dibujar un texto en una pintura. ¿Cómo dibujarlo con una fuente personalizada ( ex Helvetica ) y también en negrita? Preferiría usar una fuente del sistema y no crearla a partir de activos. Gracias.
sí, necesito la pintura para establecer algunos estilos ...
Buda Gavril
Cómo configurar la fuente según la configuración regional, por ejemplo, para inglés queremos usar arial.ttf y para coreano quiero usar gothic_B.ttf. Cómo es posible con pintura sobre lienzo en Android
Dwivedi Ji
@DwivediJi: ¿Has intentado publicar eso como una pregunta de StackOverflow, en lugar de un comentario sobre la pregunta de otra persona?
Michael Scheper
Respuestas:
164
Si por "fuente personalizada" te refieres a una fuente que estás proporcionando como activo, el siguiente código debería funcionar:
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 no está instalada, pero he usado algunas fuentes instaladas para comparar. Si estoy usando una fuente de activos, ¿tiene alguna idea de cómo configurar el negrita?
Canvas
?Respuestas:
Si por "fuente personalizada" te refieres a una fuente que estás proporcionando como activo, el siguiente código debería funcionar:
fuente
Typeface plain = Typeface.createFromAsset(assetManager, pathToFont); Typeface bold = Typeface.create(plain, Typeface.DEFAULT_BOLD)
.getContext().getAssets()
?Typeface.DEFAULT_BOLD
también me dio problemas, pero el cambio aTypeface.BOLD
funcionóSi está utilizando las nuevas fuentes de Android en XML para sus fuentes, para obtener el tipo de letra utilizado para la pintura, puede usar:
o si su API de Android mínima> = 26
Luego, para aplicarlo a su objeto de pintura:
Para obtener más información, consulte https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml#fonts-in-code
fuente
Use esto para la clase de pintura:
fuente
Si ya tiene una fuente en uso y desea usar una versión en negrita, puede hacerlo.
Usé la respuesta anterior, pero esta modificación era necesaria para mí, así que pensé en mencionarla
fuente
Si desea utilizar una fuente de recursos (Kotlin):
Puede que esto no esté relacionado con la pregunta, pero esto es lo que estaba buscando, tal vez alguien también lo necesitaría.
fuente