letras - Android establece una fuente personalizada para una pintura
fuentes de letras (3)
Quiero dibujar un texto en una pintura. ¿Cómo se dibuja con una fuente personalizada (por ej. Helvetica ) y también en negrita? Preferiría usar una fuente del sistema y no crearla desde los activos. Gracias.
Si por "fuente personalizada" te refieres a una fuente que estás suministrando como un activo, el siguiente código debería funcionar:
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);
Si ya tiene una fuente en uso y desea usar una versión en negrita, puede hacerlo.
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);
Utilicé la respuesta anterior, pero esta modificación era necesaria para mí, así que pensé en mencionarla
Use esto para la clase de pintura:
Paint paint = new Paint();
paint.setTypeface(Typeface.create("Arial",Typeface.ITALIC));