Recycler View 作为滚动视图的一部分

Recycler View as part of a Scroll View

我正在开发一个 UI 与 Play 商店非常相似的应用。它被组织为一个在另一个之上的多个面板。首先,它有一个包含照片的面板。在它下面有另一个面板,其中包含一些文本和自定义背景颜色。在它下面有另一张照片,最后它有一个垂直方向的线性布局,其中包含一长串在运行时动态填充的小视图。自然地,我将所有这些都放在滚动视图中。

问题?线性布局的动态填充需要很长的处理器时间,并使我的应用程序在那些内部视图中没有响应 inflation。所以我想用 Recycler View 替换线性布局。而且表演很棒!

所以呢?好吧……并不是所有的东西都那么棒。我无法滚动 Recycler View,因为它位于 Scroll View 内。如果我删除滚动视图,则我无法滚动整个视图(有些东西不适合屏幕)。

解决此问题的最佳方法是什么?

不建议在 ScrollView 中使用 RecyclerViewListView,正是由于双滚动问题。 RecyclerView 非常健壮,可以接收页眉、页脚等。我看不出为什么整个布局不能在 RecyclerView 而不是 ScrollView [=18= 内]

ViewHolder 实现可以包含根据下一个部分来扩充不同布局的逻辑。

伪代码:

if(currentAdapterItem == sectionA){
    useLayoutA();
} else{
    useLayoutB();
}

只需使用 NestedScrollView 而不是普通的 ScrollView。它很好地处理了嵌套滚动。