У меня ViewPager и RecyclerView в одном действии, и оба этих вида перекрываются (RecyclerView находится спереди, а ViewPager сзади). Моя прокрутка ViewPager работает правильно, когда я провожу по пустому пространству, но когда я провожу по RecyclerView, салфетка по ViewPager не работает. У меня есть кнопка и панель поиска в Recyclerview. Я хочу передать RecyclerView swipe события на пейджер (кроме поисковой панели). Итак, как я могу определить, если панель поиска recylerview сильно ударила или нет? И как я могу передать события перелистывания recylerview в viewpager.
Мой макет:
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/viewPager"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />
<RelativeLayout
android:id="@+id/imagesLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/bottomRelativeLayout"
android:layout_below="@+id/timerLayout"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="5dp"
android:visibility="gone">
<android.support.v7.widget.RecyclerView
android:id="@+id/myRecyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="5dp"
android:clickable="true"
android:fadingEdgeLength="30dp"
android:focusable="true"
android:gravity="center"
android:horizontalSpacing="3dp"
android:listSelector="@android:color/transparent"
android:numColumns="3"
android:overScrollMode="never"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingBottom="15dp"
android:paddingTop="15dp"
android:requiresFadingEdge="vertical"
android:scrollbars="none" />
</RelativeLayout>
И мой код Java:
imagesRecyclerView = (RecyclerView) findViewById(R.id.myRecyclerView);
int numberOfColumns = 3;
imagesRecyclerView.setLayoutManager(new GridLayoutManager(context, numberOfColumns));
imagesRecyclerView.getItemAnimator().setChangeDuration(0);
imagesRecyclerView.setHasFixedSize(false);