嵌套滚动视图滚动问题

时间:2016-09-05 13:59:31

标签: android android-nestedscrollview

我在垂直嵌套滚动视图中有一个水平回收视图。 一切工作正常,直到回收者视图中没有项目一旦在回收者视图中添加项目滚动视图开始滞后(不能平滑滚动)

我几乎尝试过所有事情。   喜欢:      //回收者视图   additionalList.setNestedScrollingEnabled(false);

Recycler View布局(子片段内):

 <RelativeLayout
        android:focusableInTouchMode="true"
        android:focusable="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <LinearLayout

            android:id="@+id/add_image"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginTop="@dimen/default_margin"
            android:background="@color/grey1"
            android:gravity="center">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/ic_add_image" />
        </LinearLayout>

        <android.support.v7.widget.RecyclerView
            android:layout_marginTop="@dimen/default_margin"
            android:id="@+id/additional_art_list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/add_image" />
    </RelativeLayout>

嵌套滚动视图布局(片段容器):

    <NestedScrollView    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:autolabel="http://schemas.android.com/apk/res-auto"
    android:id="@+id/observableScrollView"
    android:fillViewport="true"
    android:overScrollMode="never"
    android:scrollbars="none"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  <FrameLayout
            android:layout_marginTop="@dimen/default_margin"
            android:layout_below="@id/container_purchase_detail"
            android:id="@+id/container_premium_features"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
 </FrameLayout>
</NestedScrollView>

1 个答案:

答案 0 :(得分:0)

如果您在NestedScrollView中使用Recyclerview而不是prelolipop设备,则在设置适配器时使用此代码

 if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
        recyclerView.setNestedScrollingEnabled(false);
    }

并在 RecyclerView

中的布局文件中设置 android:nestedScrollingEnabled false
  android:nestedScrollingEnabled="false"