Android: ¿sombra en el texto?

Me pregunto cómo agregar sombra en el texto en Android?

Tengo el siguiente código que se aplica en un bitmap 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... 

Agradecido por cualquier consejo!

Debería poder agregar el estilo, así (tomado del código fuente para 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

Editar2: para configurar este estilo mediante progtwigción, harías algo como esto (modificado a partir de este ejemplo para unir los recursos de ringdroid de arriba)

 TextView infoTextView = (TextView) findViewById(R.id.info); infoTextView.setTextAppearance(getApplicationContext(), R.style.AudioFileInfoOverlayText); 

La firma de setTextAppearance es

public void setTextAppearance (contexto contexto, int resid)

Desde: Nivel de API 1
Establece el color del texto, el tamaño, el estilo, el color de la sugerencia y el color de resaltado del recurso TextAppearance especificado.

Puede hacer ambos en código y XML. Solo 4 cosas básicas para establecer.

  1. color de sombra
  2. Shadow Dx: 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
  3. sombra Dy: especifica el desplazamiento del eje Y de la sombra. -Dy especifica una sombra sobre el texto y + Dy especifica debajo del texto.
  4. radio de sombra: especifica cuánto debe difuminarse la sombra en los bordes. Proporcione un valor pequeño si la sombra necesita ser prominente. De lo contrario de lo contrario.

p.ej

  android:shadowColor="@color/text_shadow_color" android:shadowDx="-2" android:shadowDy="2" android:shadowRadius="0.01" 

Esto dibuja una sombra prominente en el lado inferior izquierdo del texto. En el código, puede agregar algo como esto;

  TextView item = new TextView(getApplicationContext()); item.setText(R.string.text); item.setTextColor(getResources().getColor(R.color.general_text_color)); item.setShadowLayer(0.01f, -2, 2, getResources().getColor(R.color.text_shadow_color)); 

Si desea lograr una sombra como la que hace Android en el Iniciador, estamos administrando estos valores. Son útiles si desea crear TextViews que aparecerán como un widget, sin fondo.

 android:shadowColor="#94000000" android:shadowDy="2" android:shadowRadius="4" 

Dibuja 2 textos: uno gris (será la sombra) y encima dibuja el segundo texto (coordenada y y 1px más que texto sombreado).

   

luego usar como

   
     

En el código de diseño XML anterior, textview1 se da con efecto Shadow en el diseño. a continuación son los elementos de configuración son

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 debe difuminarse la sombra en los bordes. Proporcione un valor pequeño si la sombra necesita ser prominente. android: shadowColor – especifica el color de la sombra


Efecto de sombra en Android TextView pragmáticamente

Utilice el siguiente fragmento de código para obtener el efecto de sombra en el segundo TextView pragmáticamente.

 TextView textv = (TextView) findViewById(R.id.textview2); textv.setShadowLayer(30, 0, 0, Color.RED); 

Salida:

enter image description here