当它具有空标题时,将SwipeRefreshLayout添加到RecyclerView

时间:2015-03-21 15:23:02

标签: android android-recyclerview swiperefreshlayout

我已按照此问题的答案中所述向我的RecyclerView添加了一个headerView:Is there an addHeaderView equivalent for RecyclerView?

标题是一个空视图,将隐藏在toolBar下。

<?xml version="1.0" encoding="utf-8"?>
<View xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/header"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize" />

问题是SwipeRefreshLayout的位置。它将从工具栏下的标题开始,因此它部分隐藏在工具栏下。

 <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/swipe_refresh_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:context="com.test.android.client.fragment.MyFragment">

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

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

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我发现setProgressViewOffset方法是一种解决方法

https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html#setProgressViewOffset(boolean,int,int)

但我仍然无法弄清楚如何获得默认的开始和结束位置。 (将在方法中传递的参数)