FloatingActionButton默认边距不能在棒棒糖中工作

我在一个CoordinatorLayout显示了FloatingActionButton和一个Recyclerview ,当点击FAB时,一行将被添加到Recyclerview 。 现在的问题是,当我在API 15中testing时,FAB有余量,但是当我在API 22(棒棒糖5.1.1-Nexus 4)中testing时,我没有得到任何余量,FAB被按到屏幕的边缘。

我担心的是FAB在API 15(缺lesstesting其他设备)中有默认的边距设置,但是不在API 22中,或者我缺less一些东西。

我的布局代码:

 <android.support.design.widget.CoordinatorLayout 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:background="#6fbababa" android:fitsSystemWindows="true"> <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:clipToPadding="false" android:paddingBottom="@dimen/fab_padding_bottom" android:scrollbars="vertical" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#ffffff"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:orientation="horizontal" app:layout_scrollFlags="scroll|enterAlwaysCollapsed"> --------------------- --------------------- </LinearLayout> </android.support.design.widget.AppBarLayout> <android.support.design.widget.FloatingActionButton android:id="@+id/button_floating_action" android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="true" android:src="@drawable/ic_plus" app:borderWidth="0dp" app:layout_anchor="@id/my_recycler_view" app:layout_anchorGravity="bottom|right|end" app:rippleColor="@color/wallet_highlighted_text_holo_light" /> </android.support.design.widget.CoordinatorLayout> 

在这里输入图像说明

Solutions Collecting From Web of "FloatingActionButton默认边距不能在棒棒糖中工作"

我结束了使用特定于API的边距值。 我的动作button是这样的:

  <android.support.design.widget.FloatingActionButton android:contentDescription="@string/menu_compose" android:id="@+id/action" android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="true" android:src="@drawable/ic_create_white" android:layout_gravity="bottom|right|end" android:layout_marginBottom="@dimen/action_button_margin" android:layout_marginRight="@dimen/action_button_margin" android:layout_marginEnd="@dimen/action_button_margin" app:elevation="6dp" app:pressedTranslationZ="12dp" app:fabSize="normal"/> 

@dimen/action_button_margin在values / dimens.xml中定义:

 <dimen name="action_button_margin">0dp</dimen> 

在值-v21 / dimens.xml中:

 <dimen name="action_button_margin">16dp</dimen> 

只要使用:

 app:useCompatPadding="true" 

这应该增加所需的空间。

我认为你有这个问题中所描述的相同的问题。 不同的保证金是由于阴影的计算与否取决于API版本。