2012-07-18 12 views
29

Tengo ScrollView con una imagen.haciendo que el borde de scrollview se desvanezca al desplazarse en android

Quiero que los bordes del ScrollView tengan un efecto de desvanecimiento cuando muevo la imagen. No estoy hablando del efecto que obtienes cuando llegas al final del desplazamiento. Quiero que el fundido siempre exista.

Eso es lo que hice (no hacer ningún efecto):

<ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.84" 
    android:background="@drawable/screen_nespresso" 
    android:fadingEdge="horizontal" 
    android:fadingEdgeLength="@dimen/padding_large" 
    android:fillViewport="false" 
    android:scrollbarAlwaysDrawVerticalTrack="true" 
    android:visibility="visible" > 

Gracias!

Respuesta

69

No estoy seguro de si este trabajo, pero aquí es lo que funcionó para mí:

<ScrollView android:requiresFadingEdge="vertical"> 

y en su código, puede hacer lo siguiente

ScrollView scroll = findById(); scroll.setFadingEdgeLength(150); 
+15

en su XML puede usar android: fadingEdgeLength = "150dp" para reemplazar el código de java. – Keith

+0

Sí, eso también funcionará. Acabo de copiar mi código sin ningún optimzations :) – Akshat

+0

Para obtener más información: esto funciona en API nivel 14 y superior. Ver http://developer.android.com/reference/android/R.attr.html#fadingEdge. Esa página también recomienda evitar el límite de decoloración por motivos de rendimiento. – gkanwar

0

esto es para horizental:

<HorizontalScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/scroll" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    android:requiresFadingEdge="horizontal" 
    android:fadingEdgeLength="80dp"> 
+0

Para aquellos que, como yo, no están al 100% leyendo XML, los atributos clave a tener en cuenta aquí son 'android: requiresFadingEdge' y' android: fadingEdgeLength'. –

Cuestiones relacionadas