RecycleView如何在滚动(而不是工具栏)上隐藏显示顶视图

时间:2015-12-26 14:53:15

标签: android view scroll hide android-recyclerview

我正在尝试(受https://mzgreen.github.io/2015/02/28/How-to-hideshow-Toolbar-when-list-is-scrolling(part2)启发)在我向上滚动时隐藏我在RecycleView上的视图,并在向下滚动时显示它。

但它看起来效果不佳。当我向上滚动时,TextView确实消失了,但它从列表视图的顶部到开头留下了一个空白区域。 (在下面的例子中,我在textView上使用.setTransalteX(dy)

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

    <TextView
       xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/test"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />


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

</LinearLayout>

我应该使用什么样的布局来存档它,但是当我向上滚动时,列表不占用空格,而是占用textview的空间?

(执行此操作的应用示例是Booking.com的结果列表) (向下滚动时不会显示,但那很好..当列表向上滚动时搜索过滤器向上滚动的事实) enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:paddingTop="44dp"
        android:cliptoPadding="false"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <TextView
       xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/test"
        android:layout_width="fill_parent"
        android:layout_height="44dp" />
</LinearLayout>