【问题标题】:Collapsing toolbar in activity, not desired behavior in all fragment活动中的折叠工具栏,不是所有片段中的理想行为
【发布时间】:2016-03-12 20:03:36
【问题描述】:

在我的应用程序中,我决定将带有折叠工具栏的 appbarlayout 放在我的活动布局中(其中还包含一个框架布局,可以根据片段进行更改)。所以我的任何片段中都没有工具栏。

问题是我不希望我的所有片段中都有一个折叠工具栏。有时我只想要一个简单的“静态”工具栏。

例如在我的 gifv http://imgur.com/smiNEJR 中:我想要“我们的包”片段中的效果,而不是“我的购物车”片段中的效果。

您知道如何删除“我的购物车”片段中 gif 上显示的效果吗?

我也不得不说,我不能在每个片段中放置工具栏有两个原因,第一个是我使用材料设计库来做我的导航抽屉,它需要在 mainActivity 中有一个工具栏。其次,我认为每次进入不同的片段时更改工具栏会更慢。

谢谢!

【问题讨论】:

    标签: android android-layout android-fragments material-design


    【解决方案1】:

    您可以在“我的购物车”片段的 RecyclerView 上禁用 nestedScroll,例如:

    setNestedScrollingEnabled(false) 因为 RecyclerView 使 CollapsingToolbar 扩展和动画。

    【讨论】:

    • 好的问题解决了一半!当我在 recyclerview 上滚动时,折叠的工具栏不会展开,但是当我在工具栏上滚动时它会展开 oO 并执行 appbar.setNestedScrollingEnabled(false);不工作^^
    • AppBarLayout.setExpanded(false) 可以解决另一半
    • 它不起作用(据说这个功能在 api 15 上工作)我还观察到,这真的很奇怪,如果我滚动“我们的包”片段展开折叠工具栏,然后我返回“我的购物车”片段从工具栏滚动以尝试展开它,它不起作用。如果我从回收站视图中扩展它,就像解决了这个错误一样。但是,如果我重新启动应用程序,我可以再次从工具栏中展开它:/
    • 我深入研究了源代码并找到了这个:android.googlesource.com/platform/frameworks/support/+/a6a508b/…
    • CordinatorLayout 控制每个孩子的嵌套滚动属性,如果“我的购物车”是活动片段,您可以禁用 appbarlayout。 onStopNestedScroll(View target)
    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 2018-08-21
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    相关资源
    最近更新 更多