For my app I am using a Recyclerview inside a Scrollview where the Recyclerview has a height based on its content using this library. Scrolling is working but it's not working smoothly when I scroll over the Recyclerview. When I scroll over the Scrollview itself it is scrolling smoothly.
The code I am using to define the Recyclerview:
LinearLayoutManager friendsLayoutManager = new LinearLayoutManager(getActivity().getApplicationContext(), android.support.v7.widget.LinearLayoutManager.VERTICAL, false);
mFriendsListView.addItemDecoration(new DividerItemDecoration(getActivity().getApplicationContext(), null));
RecyclerView v = (RecyclerView) findViewById(...); v.setNestedScrollingEnabled(false);
As an alternative, you can modify your layout using the support design library. I guess your current layout is something like:
<ScrollView > <LinearLayout > <View > <!-- upper content --> <RecyclerView > <!-- with custom layoutmanager --> </LinearLayout > </ScrollView >
You can modify that to:
<CoordinatorLayout > <AppBarLayout > <CollapsingToolbarLayout > <!-- with your content, and layout_scrollFlags="scroll" --> </CollapsingToolbarLayout > </AppBarLayout > <RecyclerView > <!-- with standard layoutManager --> </CoordinatorLayout >
However this is a longer road to take, and if you are OK with the custom linear layout manager, then just disable nested scrolling on the recycler view.
v 23.2 release of the support libraries now includes a factory “wrap content” feature in all default
LayoutManagers. I didn’t test it, but you should probably prefer it to that library you were using.