web-dev-qa-db-fra.com

Effet d'ombre pour un texte sous Android?

Duplicate possible:
Android - ombre sur le texte?

Comment puis-je créer un effet d’ombre dans un TextView.

Une idée?

184
Praveen

Peut-être envisageriez-vous d'utiliser Android: shadowColor , Android:shadowDx, Android:shadowDy, Android:shadowRadius; alternativement setShadowLayer () ?

193
Pontus Gagge

mettez-les dans values ​​/ colors.xml

<resources>
    <color name="light_font">#FBFBFB</color>
    <color name="grey_font">#ff9e9e9e</color>
    <color name="text_shadow">#7F000000</color>
    <color name="text_shadow_white">#FFFFFF</color>
</resources>

Ensuite, dans votre mise en page XML, voici quelques exemples de TextView

Exemple de texte flottant sur la lumière avec une ombre sombre

<TextView Android:id="@+id/txt_example1"
                  Android:layout_width="wrap_content"
                  Android:layout_height="wrap_content"
                  Android:textSize="14sp"
                  Android:textStyle="bold"
                  Android:textColor="@color/light_font"
                  Android:shadowColor="@color/text_shadow"
                  Android:shadowDx="1"
                  Android:shadowDy="1"
                  Android:shadowRadius="2" />

enter image description here

Exemple de texte gravé sur une ombre sombre

<TextView Android:id="@+id/txt_example2"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:textSize="14sp"
                Android:textStyle="bold"
                Android:textColor="@color/light_font"
                Android:shadowColor="@color/text_shadow"
                Android:shadowDx="-1"
                Android:shadowDy="-1"
                Android:shadowRadius="1" />

enter image description here

Exemple de texte net sur une ombre sombre et claire

<TextView Android:id="@+id/txt_example3"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:textSize="14sp"
                Android:textStyle="bold"
                Android:textColor="@color/grey_font"
                Android:shadowColor="@color/text_shadow_white"
                Android:shadowDx="-2"
                Android:shadowDy="-2"
                Android:shadowRadius="1" />

enter image description here

Remarquez les valeurs positives et négatives ... Je suggère de jouer avec les couleurs/valeurs vous-même, mais vous pouvez finalement ajuster ces paramètres pour obtenir l’effet recherché.

357
Codeversed
TextView textv = (TextView) findViewById(R.id.textview1);
textv.setShadowLayer(1, 0, 0, Color.BLACK);
62
DanM