13

Jak sprawić, że element RecyclerView zniknie gładko, gdy wychodzi poza granicę listy? Zobacz zdjęcie poniżej. Wszystkie możliwe rozwiązania wysoko cenione!Jak dodać przezroczystość elementu wewnątrz okna RecyclerView, gdy znajduje się poza granicami listy?

enter image description here

Uwaga: Rozwiązanie z View powyżej RecyclerView który ma gradientu tła (cień imitacja) nie działa dobrze, bo mam tle gradientu na ekranie i trudno jest dopasować, że „cień” Widok tło do tła ekranu i wygląda tak: enter image description here

Tak więc, działa jak cień nie jak zniknięcie.

AKTUALIZACJA: Got drugi ekran z następującym tle:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 
    <gradient 
     android:type="linear" 
     android:startColor="#FF14141d" 
     android:endColor="#0014141d" 
     android:angle="270"/> 
</shape> 

Oto tło Oryginalny ekran

enter image description here

+0

Jestem nie wiem, czy rozumiem, czego potrzebujesz, ale dlaczego nie używać gradientu przechodzącego od całkowicie przezroczystej do nieprzejrzystej czerni z wysokością np. 4dp? – npace

+0

@npace, ponieważ nie mam jednolitego tła ekranu, a to rozwiązanie prowadzi do efektu cienia (jak na drugim obrazie i tutaj można go lepiej zobaczyć http://screencast.com/t/njDZjBkF3la). Ma ten sam kolor z tłem ekranu po prawej i lewej stronie listy, ale innym kolorem na środku listy. – Natasha

+0

@npace Potrzebuję efektu płaskiej strony, ale gładkie zniknięcie przedmiotu. – Natasha

Odpowiedz

11

jeśli chcesz zanikać krawędzie, można użyć:

<android.support.v7.widget.RecyclerView 
     android:id="@+id/recyclerView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:requiresFadingEdge="vertical" <-- this line 
     android:fadingEdgeLength="150dp" <-- this line, the height of fade 
/> 
+1

Dokładnie tego potrzebuję! Wielkie dzięki! – Natasha

Powiązane problemy