2015-12-27 50 views
1

我在顶部有一个标题,底部有一个recyclerview。像这样:如何使Recyclerview与其父项滚动?

<LinearLayout> 
    <LinearLayout> 
     <ImageView/> 
     <TextView/> 
     <TextView/> 
    </LinearLayout> 
    <RecyclerView/> 
</LinearLayout> 

我也有一个头和两个recyclerviews视图。像这样:

<LinearLayout> 
    <LinearLayout> 
     <ImageView/> 
     <TextView/> 
     <TextView/> 
    </LinearLayout> 
    <Recyclerview/> 
    <Recyclerview/> 
</LinearLayout> 

当我在第一个布局的回收站上滚动时,标题停留在那里。当我向下滚动查看回收站视图时,我希望标题能够出现在视图之外。

在第二个布局上,每个列表都很短并且可以单独放在屏幕上,但是第二个布局一起在屏幕外脱机(i'm using this layout manager to make the layout wrap content)。这样可以,但是当您在第一个回收站上滚动时,它只会尝试自动滚动(不能滚动),因此您无法滚动查看屏幕外的内容。您也无法滚动页眉离开屏幕。

在这两种情况下,我如何才能让recyclerview与其父项滚动?

+0

简短回答:您不应该让RecyclerView与其父项一起滚动。第二个可以通过将两个回收站视图合并为一个(一个RecyclerView可以显示多个不同的视图类型,所以它不应该是一个问题)来修复。 –

+0

因此,包含线性回收站视图+其他视图的每个屏幕都只包含回收站视图是由所有您希望使用不同视图类型放置在该屏幕上的视图组成的? 这是做事情的唯一方法吗? @KonstantinLoginov –

+1

当然,有多种处理方式。 :-)还有一些反模式,如禁用ListView中的滚动并将其放入ScrollView中(由于内存使用情况,这很糟糕 - 它不会回收视图)。一般来说,我会说,根据指导方针,应该有1个控件,它在页面上有垂直滚动。 Android还具有CoordinatorLayout&CollapsingToolbarLayout,用于动画缩放标题。它可能适用于你的第一个问题(阅读更多http://antonioleiva.com/collapsing-toolbar-layout/在这里) –

回答

1

在第一种情况下,您可以使用CollapsingToolBarLayout。 目前正在态度很好的教程/例数:

在第二种情况下,我会建议更换2 RecyclerView s by 1 with different viewTypes为了保持滚动期间回收的视图。