Me pregunto cómo agregar sombras en el texto en Android.
Tengo el siguiente código que se aplica en un mapa de bits y quería ser sombreado ...
paint.setColor(Color.BLACK);
paint.setTextSize(55);
paint.setFakeBoldText(false);
paint.setShadowLayer(1, 0, 0, Color.BLACK); //This only shadows my whole view...
Respuestas:
Debería poder agregar el estilo, así (tomado del código fuente de Ringdroid):
Y en su diseño, use el estilo de esta manera:
Editar: el código fuente se puede ver aquí: https://github.com/google/ringdroid
Edit2: para establecer este estilo mediante programación, haría algo como esto (modificado a partir de este ejemplo para que coincida con los recursos de ringdroid de arriba)
La firma de
setTextAppearance
esfuente
Puedes hacer ambos en código y XML. Solo se deben configurar 4 elementos básicos.
p.ej
Esto dibuja una sombra prominente en el lado inferior izquierdo del texto. En el código, puede agregar algo como esto;
fuente
En el código de diseño XML anterior, textview1 se proporciona con efecto de sombra en el diseño. a continuación se muestran los elementos de configuración
android: shadowDx : especifica el desplazamiento del eje X de la sombra. Puede dar valores - / +, donde -Dx dibuja una sombra a la izquierda del texto y + Dx a la derecha
android: shadowDy : especifica el desplazamiento del eje Y de la sombra. -Dy especifica una sombra sobre el texto y + Dy especifica debajo del texto.
android: shadowRadius : especifica cuánto se debe desenfocar la sombra en los bordes. Proporcione un valor pequeño si la sombra debe ser prominente. android: shadowColor: especifica el color de la sombra
Efecto de sombra en Android TextView pragmáticamente
Use el fragmento de código a continuación para obtener el efecto de sombra en el segundo TextView de forma pragmática.
Salida:
fuente
Si desea lograr una sombra como la que Android hace en el Iniciador, estamos administrando estos valores. Son útiles si desea crear TextViews que aparecerán como un widget, sin fondo.
fuente
Dibuje 2 textos: uno gris (será la sombra) y encima dibuje el segundo texto (coordenada y 1 px más que el texto sombreado).
fuente
luego usar como
fuente