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

时间:2015-07-12 08:11:14

标签: android android-viewpager android-view android-coordinatorlayout

我正在使用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始终覆盖在FloatingActionMenu上的API >= 21之上,是否有解决方法?我尝试使用view.bringToFront()来解决这个问题,但没有运气。我也移动了Views,但仍然没有运气。我试过的事情:

  • 移动FABMenu AppBarLayout
  • 移动FABMenu LinearLayout

没有运气。

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:2)

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

这是一个使用官方谷歌设计支持库的协调器布局中的viewpager的实现,以及该库支持的所有其他好东西(包括一个非常易于使用的导航侧面板)。

为什么我要分享这个?因为代码很干净,所以使用官方的最新库并向后兼容。我发现使用它作为我的应用程序的基础非常容易,我已经对设计的整体实现得到了很好的反馈,这些反馈严格遵循材料指南。

这个例子是由官方机器人团队的人写的,所以它也是可靠的!

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

我是一个新用户,由于代表率低,甚至无法发表评论,所以授予代表真的很有帮助!

谢谢:)