2016-06-04 9 views
4

Ich habe einige allgemeine Programmierkenntnisse, aber ich bin neu in Android-Entwicklung, und ich habe mit RecyclerView begonnen und ich habe cardview auch verwendet. Aber in einigen Fällen ist der Titel dort zu lang und ich möchte nur einen verblassenden Rand hinzufügen.Wie mache ich TextView mit Fading Edge?

Ich habe in here gesucht, aber ich konnte nichts finden. Also habe ich es selbst ausprobiert, aber ich konnte es nicht funktionieren lassen. Ich habe es auch außerhalb der RecyclerView verwendet, aber immer noch das gleiche Ergebnis.

Der Code, den ich verwende.

<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"/> 

Ich möchte das Verblassen Textview, wie in diesem Bild von Play Store machen:

picture

Jede Hilfe würde geschätzt. Vielen Dank im Voraus ...

Antwort

8

Nach https://developer.android.com/reference/android/R.attr.html#fadingEdgeandroid:fadingEdge ist veraltet.

Es soll mit requiresFadingEdge="horizontal" arbeiten und android:ellipsize="none":

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

Und ich würde empfehlen, so etwas wie android:layout_width="match_parent" oder android:layout_width="100dp" zu verwenden, wenn Sie den Text wie verblasste werden.

+0

Es ist immer noch nicht für mich zu arbeiten. Wenn ich 'android: requestsFadingEdge =" horizontal "verwende, gibt es mir nichts, aber wenn ich es mit' android: singleLine = "True" 'verwende, dann gibt es drei Punkte (...) am Ende der textView –

+0

Aber ich möchte, dass es wie auf dem Bild verblasst ... –

+0

Vergiss nicht android: ellipsize = "none" – gus27

0

android 6.0.1

Dieser Code funktioniert

android:ellipsize="marquee" 
android:marqueeRepeatLimit="0" 
android:singleLine="true" 

und vergessen Sie nicht

textView.setSelected(true);