una trazado texto relleno rellenar poner podemos pintar imagen illustrator herramienta forma cuadro cs6 como color cambiar abierta java android paint

java - trazado - ¿Cómo dibujar texto con diferentes trazos y colores de relleno?



podemos rellenar una forma abierta (4)

Quiero mostrar el texto como abajo en mi aplicación. Estoy usando la clase de Paint con estilo FILL_AND_STROKE para lograr esto. Pero solo un método setColor() está disponible para establecer el color.

¿Cómo configuro diferentes trazos y colores de relleno?


Dentro de TextView personalizado (no funciona en EditText):

@Override public void onDraw(Canvas canvas) { final ColorStateList textColor = getTextColors(); TextPaint paint = this.getPaint(); paint.setStyle(Style.STROKE); paint.setStrokeJoin(Join.ROUND); paint.setStrokeMiter(10); this.setTextColor(strokeColor); paint.setStrokeWidth(strokeWidth); super.onDraw(canvas); paint.setStyle(Style.FILL); setTextColor(textColor); super.onDraw(canvas); }


No estoy completamente seguro, pero quizás puedas usar esto:

link

TextView test = (TextView) findViewById(R.id.test); test.setShadowLayer(float, float, float, int);


No uses FILL_AND_STROKE. Dibuja una vez con FILL y luego cambia el color y dibuja con STROKE.

(Eso funciona para los rectángulos. No estoy seguro de que STROKE funcione para el texto. Tendrá que probarlo y averiguarlo).


Utilicé la primera solución anterior para llegar a esta idea: dejar un trazo más grande, enviar un texto y luego superponerlo con un texto FILL_AND_STROKE más pequeño:

mScorePaint = new TextPaint(); mScorePaint.setTextSize(63); mScorePaint.setStyle(Style.STROKE); mScorePaint.setStrokeJoin(Join.ROUND); mScorePaint.setStrokeMiter(10.0f); mScorePaint.setStrokeWidth(frameWidth/50.0f); // about 12 mScorePaint.setColor(0xffff0000); // black c.drawText(Integer.toString(mScore), x, y, mScorePaint); // red first mScorePaint.setStrokeWidth(frameWidth/125.0f); // about 5 mScorePaint.setColor(0xff000000); // red c.drawText(Integer.toString(mScore), x, y, mScorePaint); // black on top

Porque el LLENO solo no estaba viendo ninguno de los atributos de Trazo y estaba saliendo muy delgado.