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 ).
祝你好运!
使用 FrameLayout
和 layout_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>
我的浮动操作栏被同一页面中的 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 ). 祝你好运!
使用 FrameLayout
和 layout_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>