禁用scrolllerview的滚动(在viewpager内),直到它完全可见(viewpager在scrollview中)

时间:2016-03-03 12:55:08

标签: android android-viewpager android-recyclerview android-scrollview

我的布局类似于下图所示的布局。

Layout Explained

<ScrollView>
   <LinearLayout>
    ...
   </LinearLayout>
 <ViewPager>
</ScrollView>

ViewPager的高度等于ActionBar下面的屏幕高度。

滚动时,viewPager的一半可见。RecylerViewViewPager段的垂直滚动会干扰ScrollView的主卷轴。

我想要一个解决方案,确保viewpager中的RecyclerView滚动被禁用,直到viewpager完全可见。

main.xml中

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/footer"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:layout_marginLeft="@dimen/secondary_margin"
        android:layout_marginRight="@dimen/secondary_margin"
        android:id="@+id/scroll_view">

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

            <include layout="@layout/home_deals_slider" />

            <include layout="@layout/top_selling_slider" />

            ...
            <TabLayout>

            <android.support.v4.view.ViewPager
               android:id="@+id/fragments_view_pager"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
               android:layout_below="@+id/fragments_view_pager_tab" />

        </LinearLayout>

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

fragment.xml之

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/staggered_grid_recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scrollbars="vertical" />

    </RelativeLayout>
    ...

0 个答案:

没有答案