Duplicata possible :
Android - ombre sur le texte ?
Comment puis-je créer un effet d'ombre sur un texte dans un TextView
.
Une idée ?
Duplicata possible :
Android - ombre sur le texte ?
Comment puis-je créer un effet d'ombre sur un texte dans un TextView
.
Une idée ?
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 layout xml, voici quelques exemples de TextViews
Exemple de texte flottant sur une lumière avec une ombre foncée
<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" />
Exemple de texte gravé sur une lumière avec une ombre foncée
<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" />
Exemple de texte clair sur une lumière avec une ombre foncée.
<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" />
Remarquez les valeurs positives et négatives... Je vous suggère de jouer avec les couleurs/valeurs vous-même, mais en fin de compte vous pouvez ajuster ces paramètres pour obtenir l'effet que vous recherchez.
Dans mon cas, il n'était pas visible dans l'aperçu de l'éditeur d'Android, mais il fonctionne sur l'appareil réel comme un charme !!!
Vous pourriez peut-être envisager d'utiliser Android:shadowColor , android:shadowDx
, android:shadowDy
, android:shadowRadius
ou bien setShadowLayer() ?
Cela n'apporte aucun changement. Je pense que cela fonctionne. Mais les valeurs que j'ai définies posent problème. Pouvez-vous afficher l'exemple de valeur de shadowdx
, shadowdy
y shadowradious
?
Vous devriez poster votre code. En attendant, vérifiez le balisage dans des exemples comme mobile.tutsplus.com/tutorials/Android/customize-Android-fonts (faites défiler la page jusqu'à la section Text Shadow).
Réponse complète
Ajoutez ces 2 lignes à la vue parent, sinon l'ombre du texte sera coupée lorsque la vue est plus petite que le décalage de l'ombre.
Android:clipChildren="false" (en anglais)
Android:clipToPadding="false" (en anglais)
EXEMPLE :
<androidx.constraintlayout.widget.ConstraintLayout
android:clipChildren="false"
android:clipToPadding="false"
... >
<TextView
style="@style/TextShadowStyle"
....
/>
Style d'ombre du texte :
<style name="TextShadowStyle">
<item name="android:shadowColor">@color/black</item>
<item name="android:shadowDx">10</item>
<item name="android:shadowDy">10</item>
<item name="android:shadowRadius">5</item>
</style>
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Vous pouvez également consulter ce lien stackoverflow.com/a/51761610/4307338