RecyclerView是ScrollView的一部分

时间:2016-09-10 10:13:56

标签: android xml xamarin

我有一个RecyclerView作为底部视图,以及其他一些视图:

Screenshot

我想滚动整个视图(1),而不仅仅是RecyclerView(2)。

我设法让它发挥作用,但并非完美无瑕。 XML:

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

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

    <android.support.v4.widget.NestedScrollView
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

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

            ...

            <View
                style="@style/Divider"
                android:layout_marginBottom="16dp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="8dp">

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/recyclerViewNote"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

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

两个问题:

  1. 滚动回收者视图并不顺畅,因为当我抬起手指时,滚动停止。没有加速滚动,或任何你称之为。

  2. 当我从recyclerview中删除项目时,其高度保持不变。意思是我的图像曾经是空的空间。

2 个答案:

答案 0 :(得分:0)

我试过你的例子

  

recyclerview中滚动并不顺利,就在我的时候   抬起我的手指,滚动停止。没有加速滚动,或   无论你怎么称呼它。

即使我注意到了。我认为使用嵌套滚动时有一些限制,因为它必须处理两个滚动。

  

当我从recyclerview中移除项目时,其高度仍为   相同。意思是我的图像曾经是空的空间。

空格是因为padding已应用于linear layout recyclerview。事件虽然您从recyclerview中删除了所有项目,但父linear layout的填充仍然相同,空白也是如此。

答案 1 :(得分:-1)

使用nestedScrollView

<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
 <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

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