FAB 被 ViewPager 屏蔽

FAB blocked by ViewPager

我的浮动操作栏被同一页面中的 viewpager 挡住了。

我想将 FAB 添加到意图本身,而不是添加到 viewpager 内的片段,所以我在我的主布局文件中添加了以下代码:

   <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_margin="16dp"
        android:clickable="true"
        android:elevation="10dp"
        android:padding="10dp"
        android:src="@mipmap/pluscircle" />

<android.support.design.widget.TabLayout
    android:id="@+id/sliding_tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabIndicatorColor="#2e9100"
    app:tabMode="fixed" />

<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_below="@+id/sliding_tabs"
    android:layoutDirection="ltr"
    android:layout_height="match_parent" />

但出于某种原因,我的 FAB 出现在 tablayout 下方和 viewPager 上方,如下所示:

如何修复 FAB 位置,这样他就不会被 viewPager 屏蔽?

好吧,我不确定我要回答的是你的解决方案,因为老实说我没听懂你的问题,使用 FrameLayout 用于不同级别的视图(在这里,你的 FAB 应该在最顶层的 FrameLayout ). 祝你好运!

使用 FrameLayoutlayout_gravity 也将 android:clickable="true" 应用于根布局。

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true">

    <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:clickable="true"
        android:elevation="10dp"
        android:padding="10dp"
        android:src="@mipmap/ic_launcher" />

    <android.support.design.widget.TabLayout
        android:id="@+id/sliding_tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabIndicatorColor="#2e9100"
        app:tabMode="fixed" />

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/sliding_tabs"
        android:layoutDirection="ltr" />
</FrameLayout>