2015-12-27 48 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爲了保持滾動期間回收的視圖。