滑动ViewPager和RecyclerView

时间:2018-07-12 20:30:56

标签: android scroll android-recyclerview android-viewpager swipe

我正在开发新闻应用程序。在我创建一个RecyclerView之前,它填充了json中的数据,并且运行良好。现在,我在该RecyclerView的顶部添加了ViewPager,并且希望将滑动操作应用于这两个视图。现在,当滑动到底部时,ViewPager停留在屏幕顶部,而RecyclerView滚动到ViewPager下方,这看起来很奇怪。如何将滑动应用到两个视图,例如ViewPager是RecyclerView的第一项?

这是我的布局和屏幕截图

P.S。 NestedScrollView无法正常工作。屏幕外的RecyclewViews项没有从内存中删除,应用程序冻结并崩溃了。

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="false"
tools:context=".MainActivity"
tools:openDrawer="end">

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/swiperefresh"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?android:attr/actionBarSize"
            android:background="@color/colorPrimary"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <FrameLayout
                android:id="@+id/slider_container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="4dp">

                <android.support.v4.view.ViewPager
                    android:id="@+id/viewPagerSlider"
                    android:layout_width="match_parent"
                    android:layout_height="190dp"
                    android:layout_marginBottom="8dp" />

                <LinearLayout
                    android:id="@+id/SliderDots"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom"
                    android:layout_marginBottom="24dp"
                    android:gravity="center_vertical|center_horizontal"
                    android:orientation="horizontal" />

            </FrameLayout>

            <ProgressBar
                android:id="@+id/progress_circle_feed"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center" />

            <android.support.v7.widget.RecyclerView
                android:id="@+id/recyclerview_feed"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:tag="tagged_boy" />
        </LinearLayout>

        <ProgressBar
            android:id="@+id/progress_loadmore"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center|bottom"
            android:visibility="gone" />

    </LinearLayout>

</android.support.v4.widget.SwipeRefreshLayout>

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:headerLayout="@layout/nav_header"
    app:itemTextColor="#FF3E3E3E"
    app:menu="@menu/drawer_menu">

</android.support.design.widget.NavigationView>

</android.support.v4.widget.DrawerLayout>

enter image description here

0 个答案:

没有答案