mthandr
mthandr

Reputation: 3061

SwipeRefreshLayout - the RecyclerView is not pulled down

I have a RecyclerView with GridLayoutManager and when using SwipeRefreshLayout the RecyclerView is not pulled down. How to create the effect of having a gap between the toolbar and the recyclerview while refreshing?

XML:

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />

    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/swipe_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RecyclerView
            android:id="@+id/gridView"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

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

</FrameLayout>

CODE:

swipeLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_container);
swipeLayout.setOnRefreshListener(this);
swipeLayout.setColorScheme(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light);

gridView = (RecyclerView) getActivity().findViewById(R.id.gridView);
gridLayoutManager = new GridLayoutManager(getActivity(), 4, GridLayoutManager.VERTICAL, false);
gridView.setLayoutManager(gridLayoutManager);
gridView.setVisibility(View.GONE);
gridView.setHasFixedSize(false);
gridView.setItemAnimator(new DefaultItemAnimator());

Upvotes: 0

Views: 1517

Answers (1)

Asif Mujteba
Asif Mujteba

Reputation: 4656

Your code is all okay, but the swipeRefreshLayout does not pull down the grid view but only itself, For the demo check this video. You can however use other libraries like Ulta-Pull-to-Refresh to achieve the desired effect!

Upvotes: 2

Related Questions