web-dev-qa-db-fra.com

Comment faire de TextView avec un contour en décoloration?

J'ai quelques connaissances générales en programmation, mais je suis novice dans le développement d'Android et j'ai commencé avec RecyclerView et j'ai aussi utilisé cardview. Mais dans certains cas, le titre est trop long et je veux juste ajouter un bord en décoloration.

J'ai cherché dans ici mais je n'ai rien trouvé. Alors j'ai essayé moi-même, mais je ne pouvais pas le faire fonctionner. Je l'ai également utilisé en dehors de la variable RecyclerView, mais le résultat est toujours le même.

Le code que j'utilise.

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:textAppearance="?android:attr/textAppearanceLarge"
    Android:text="Hello World"
    Android:id="@+id/textView"
    Android:layout_alignParentTop="true"
    Android:layout_centerHorizontal="true"
    Android:textSize="25sp"
    Android:textStyle="bold"
    Android:fadingEdge="horizontal" <!-- I think those 2 lines should do it,
    Android:fadingEdgeLength="40dp"/>

Je veux faire le TextView décoloré comme dans cette image de Play Store:

picture

Toute aide serait appréciée. Merci d'avance...

9
E. Quku

Selon https://developer.Android.com/reference/Android/R.attr.html#fadingEdgeAndroid:fadingEdge est obsolète.

Cela devrait fonctionner avec requiresFadingEdge="horizontal" et Android:ellipsize="none":

Android:requiresFadingEdge="horizontal"
Android:fadingEdgeLength="40dp"
Android:ellipsize="none"

Et je vous recommanderais d'utiliser quelque chose comme Android:layout_width="match_parent" ou Android:layout_width="100dp" si vous souhaitez que le texte soit atténué.

15
gus27

Android 6.0.1

Ce code fonctionne

Android:ellipsize="Marquee"
Android:marqueeRepeatLimit="0"
Android:singleLine="true"

et n'oublie pas

textView.setSelected(true);