EDIT
我使用CoordinatorLayout
和AppBarLayout
作为标头和TabLayout
的包装来解决此问题。本来应该很明显但是很好。
原始问题: 我有一个设计,我已经尝试了多次迭代来完成我的应用程序。 我知道嵌套可滚动视图不是优先考虑,但我相信是可行的,我无法找到答案,我正在寻找我的具体问题,所以这里就是。
这是一个简单的设计模型,以及我如何实现它的实现方式:
这是一种配置文件设计,顶部有一些文本视图,横幅,头像和jadajada。下面是三个选项卡,用于切换它们下面的内容。
每个标签的内容属于同一类对象,它们只有自己的“过滤器”
下面的实现在开始时非常简单。
我们使用recyclerview
在内部我们有一些不同的视图,其中一个包含一个viewpager。
viewpager包含其中包含另一个Recyclerview的片段。
通过这种方式我发现了很多问题。并没有真正完成所有事情就像一个单一的滚动视图。
我也尝试过使用一个单一的recyclerview来处理所有内容,但是标签之间的动画并不是我们想要的,也是一个真正的不一致的混乱。
我认为我真正的问题是,如果我采用不同的方法,我会把水放在头上吗?有没有其他人以优雅的方式做到这一点?
答案 0 :(得分:1)
前段时间我面临同样的任务,在我看来,使用ViewPager作为嵌套滚动视图是个坏主意
诀窍是仅在整个屏幕上使用几个RecyclerViews。我准备了一个简单的例子,你可以做到这一点
https://github.com/tpec1k/NestedRecyclerViews
示例gif(太大而无法使其内联):https://www.dropbox.com/s/129te4ie87uuyqi/device-2017-08-16-125556.gif?dl=0
PS我知道RecyclerView不是ViewPager,但它可能非常相似 看,你只需要添加标题条,修复滚动行为并覆盖更改项动画。
PPS我没试过,但看起来github上有一些libs在recyclerview中实现了viewpager逻辑: - https://github.com/lsjwzh/RecyclerViewPager