android-recyclerview - 如何防止 AppBarLayout 展开?

标签 android-recyclerview android-appcompat androiddesignsupport android-coordinatorlayout android-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 展开?我需要关闭它,并强制它保持关闭状态,直到我重新设置它为止,无论用户做什么。

最佳答案

在另一个地方,我设置了一个滚动监听器来展开顶部的 View 。这触发了它不应该触发的扩展。

关于android-recyclerview - 如何防止 AppBarLayout 展开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32792282/

相关文章:

java - Recyclerview 中的 view.GONE 仍保留空间

android - 搜索小部件在发布 apk 中不起作用

android - 在工具栏中将 Android Drawable XML Logo 居中

android - 当 EditText 获得焦点时,CollapsingToolbarLayout 不会折叠

java - 在 RecyclerView 中保留滚动位置

android - Recyclerview 滑动 + CardView 触摸

android - 从 appcompat-v7 android 中删除图像和 Assets

android - fitsSystemWindows 在添加的 fragment 中不起作用

android - CoordinatorLayout 中的 ViewPager 然后在屏幕外滚动 tablayout 不起作用

java - 延迟加载无法正常工作