我正在开发一款具有非常类似于Play商店的用户界面的应用。它被组织为一个在另一个之上的多个面板。首先它有一个包含照片的面板。在它下面有另一个面板包含一些文本和自定义背景颜色。在它之下它有另一张照片,最后它有一个垂直方向的线性布局,包含在运行时动态填充的很长的小视图列表。我自然而然地在Scroll View中拥有了这一切。
问题?线性布局的动态填充需要很长的处理器时间,并使我的应用程序在这些内部视图通胀期间无响应。所以我想用Recycler View替换线性布局。而且表现非常好!
所以?嗯......不是一切都那么棒。我无法滚动Recycler View,因为它在Scroll View中。如果我删除滚动视图然后我无法滚动整个视图(有些东西不适合屏幕)。
解决此问题的最佳方法是什么?
答案 0 :(得分:3)
由于双重滚动问题,建议不要在RecyclerView
内使用ListView
或ScrollView
。 RecyclerView
非常强大,并准备接收页眉,页脚等。我认为没有理由为什么整个布局不能在RecyclerView
内而不是ScrollView
ViewHolder
实现可以包含根据下一步应该扩展不同布局的逻辑。
伪代码:
即。
if(currentAdapterItem == sectionA){
useLayoutA();
} else{
useLayoutB();
}
答案 1 :(得分:0)
只需使用NestedScrollView代替普通ScrollView
即可。它很好地处理嵌套滚动。