使FAB不被剪裁在底部导航栏内

时间:2017-09-19 08:21:05

标签: android xml android-layout android-view floating-action-button

我试图将底部导航栏与FAB重叠。我希望我的导航栏看起来像这样:

Desired result

但是它会像这样切断按钮:

current result

如何防止FAB被切断?这是我的XML:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.mobgen.designsprintapp.ui.main.MainActivity">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />

        <android.support.design.widget.BottomNavigationView
            android:id="@+id/navigation"
            android:layout_width="match_parent"
            android:layout_height="56dp"
            android:background="?android:attr/windowBackground"
            android:backgroundTint="@color/colorPrimary"
            app:itemBackground="@color/colorPrimary"
            app:itemIconTint="@color/nav_item_color_state"
            app:itemTextColor="@android:color/black"
            app:menu="@menu/navigation" >

            <android.support.design.widget.FloatingActionButton
                android:id="@+id/tools"
                android:layout_width="56dp"
                android:layout_height="56dp"
                android:layout_gravity="center"
                android:layout_marginBottom="8dp"
                android:elevation="6dp"
                android:scaleType="center"
                app:srcCompat="@drawable/play" />
            </android.support.design.widget.BottomNavigationView>
    </LinearLayout>
</android.support.design.widget.CoordinatorLayout>

3 个答案:

答案 0 :(得分:5)

您的问题是您明确指定了FloatingActionButton的宽度和高度参数,而它不能占用任何宽度/高度。 app:fabSize参数指定晶圆厂的3种尺寸:自动,迷你和普通。

layout_widthlayout_height保留为wrap_content,并使用app:fabSize="normal"(或列表中的其他参数)指定所需的工厂尺寸。

此外,请设置BottomNavigationView的高度wrap_content,因为fab有一些内部填充。

为了在封闭布局之外绘制一个孩子,请将android:clipChildren="false"应用于封闭的ViewGroup

答案 1 :(得分:0)

问题是按钮在里面导航栏。将其移到外面,这样它就会完全可见,并且超过导航栏。

#my_div_1 > a
{
 color: red;
}

答案 2 :(得分:0)

只需添加

 app:elevation="10dp"

内部FloatingActionButton