Параллакс прокрутка фона recyclerview
Мой recyclerview имеет специально разработанный фон, в основном для добавления некоторого шума дизайна (как в whatsapp). Чего я хочу добиться, так это того, что когда я прокручиваю recyclerview, фон прокручивается с ним на половине скорости элементов в recyclerview.
Есть идеи, возможно ли это, и если да, то как это сделать?
1 ответ:
Это в значительной степени достижимо; однако предположим , что ваш вид recycler может прокручиваться вертикально на 10 000 пикселей, вы хотите, чтобы ваш фон был переведен на 5000 пикселей ? если это так, то вам придется использовать очень тяжелый файл изображения, который в вашем случае будет наиболее определенно работать из памяти. В противном случае сохранить представление ScrollView и посмотреть переработчик внутри заменить. Затем в вашем действии/фрагменте добавьте прослушиватель scrollChange к вашему recyclerView (это сообщит вам смещение вашего взгляда recycler, в частности вам нужен dy ). В соответствии с вертикальным смещением вы можете прокручивать вид прокрутки следующим образом
scrollView.smoothScrollBy(0,dy);
Код xml выглядит следующим образом:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <!--your imageView that is bigger than screen height comes here--> </LinearLayout> </ScrollView> <android.support.v7.widget.RecyclerView android:background="@android:color/transparent" android:layout_width="match_parent" android:layout_height="match_parent"/> </FrameLayout> </LinearLayout> Also please feel free to show me your progress and also if you are stuck.