如何覆盖滚动?

时间:2018-05-30 14:22:46

标签: android scroll android-nestedscrollview

我有以下布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/left_col"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

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

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="500dp"/>

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>

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

recyclerView的高度由代码预定义,并且等于设备屏幕的高度。这个想法是用户在屏幕上感觉不到2个垂直滚动(也就是说,他看起来像滚动的那样)。 如何使textView1recyclerView开头之前平滑地滚动内容,停止然后滚动recyclerView内的内容?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你有一些选择:

  1. 如果您不想在RecyclerView之外滚动,请将NestedScrollView更改为另一种ViewGroup,例如LinearLayout
  2. 如果您想要连续垂直滚动,可以使用recyclerView.setNestedScrollingEnabled(false);
  3. 以编程方式禁用

    此外,您的recyclerView将没有dinamically屏幕尺寸,因为您使用的是静态高度android:layout_height="500dp"