我有一個佈局看起來有點像這樣:如何防止AppBarLayout擴展?
<FrameLayout>
<Scrollview (empty view, set GONE)>
<LinearLayout (loading screen, set GONE)>
<CoordinatorLayout>
<AppBarLayout>
<RelativeLayout scroll|enterAlways|enterAlwaysCollapsed>
</AppBarLayout>
<RecyclerView with layout_behavior set>
<NestedScrollView (variation of empty layout, set GONE)>
</CoordinatorLayout>
</FrameLayout>
在AppBarLayout存在水平RecyclerView與細胞,然後在下面的主RecyclerView包含不同類型的細胞和滾動垂直。這在滾動時非常有用 - AppBarLayout完美顯示並消失。
當在兩個RecyclerView中搜索並限制結果時,問題就出現了。當RecyclerView爲空時,它應該消失 - 所以當頂部水平RecyclerView爲空時,整個AppBarLayout應該消失。
爲了實現這個目標,我打電話給AppBarLayout.setExpanded(false)
- 這是工作。但是,在調用後,如果向上或向下滾動垂直RecyclerView,則AppBarLayout將展開並顯示其自身。我也嘗試重置LayoutParams scrollFlags,使它們爲0,這應該禁用滾動。 AppBarLayout不再滾動 - 但仍然展開。
我該如何完全防止AppBarLayout擴展?我需要關閉它,並強制它保持關閉,直到我重置它,而不管用戶做什麼。