CoordinatorLayout 中的 ViewPager 覆盖 API >= 21 上的其他视图

ViewPager inside CoordinatorLayout covers other views on API >= 21

我正在使用 Google 的新设计支持库中的新 CoordinatorLayout

我有以下布局:

<android.support.design.widget.CoordinatorLayout>

<android.support.design.widget.AppBarLayout>

    <android.support.design.widget.CollapsingToolbarLayout
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            app:layout_collapseMode="parallax"/>

        <android.support.v7.widget.Toolbar />

    </android.support.design.widget.CollapsingToolbarLayout>

</android.support.design.widget.AppBarLayout>

<LinearLayout
    app:layout_behavior="@string/appbar_scrolling_view_behavior" >

    <android.support.design.widget.TabLayout />

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager" />
</LinearLayout>

<com.getbase.floatingactionbutton.FloatingActionsMenu
    app:layout_anchor="@id/viewPager"
    app:layout_anchorGravity="bottom|right|end"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    >

    <com.getbase.floatingactionbutton.FloatingActionButton />

</com.getbase.floatingactionbutton.FloatingActionsMenu>


</android.support.design.widget.CoordinatorLayout>

问题是 ViewPager 总是覆盖在 API >= 21 上的 FloatingActionMenu 之上,有解决办法吗?我尝试使用 view.bringToFront() 来解决这个问题,但没有成功。我也移动了 Views ,仍然没有运气。我尝试过的事情:

运气不好。

有没有人经历过类似的事情?

原来这是一个简单的海拔问题,我将海拔设置为 android:elevation="..",这比另一个视图的海拔低,因此覆盖了 FloatingActionButtonMenu。这仅发生在 API >= 21.

虽然您似乎自己找到了答案,但这里有一个绝对令人惊叹的资源:https://github.com/chrisbanes/cheesesquare

这是在使用官方 google 设计支持库以及该库支持的所有其他好东西(包括极其易于使用的导航侧面板)的协调器布局内实现 viewpager。

我为什么要分享这个?因为代码干净,使用了官方最新的库,并且向后兼容。我发现使用它作为我的应用程序的基础非常容易,而且我已经收到了关于设计的整体实施的良好反馈,该设计严格遵循 material 指南。

例子是android官方团队的人写的,这样也靠谱!

希望您觉得这很有用(虽然不完全是您问题的直接答案 - 但仍然相关)。

我是一个新用户,由于低代表甚至不能 post 发表评论,所以奖励代表真的很有帮助!

谢谢:)