I am displaying FloatingActionButton
along with a Recyclerview
in a CoordinatorLayout
, when the FAB is clicked a row would be added in Recyclerview
. Now the problem is the FAB has margin when i tested in API 15 but when I test in API 22(lollipop 5.1.1-Nexus 4) I do not get any margin and the FAB is pressed to the edge of the screen.
My concern is FAB has default margin setup in API 15(didnt test other devices) but not in API 22 or am I missing something.
My layout code:
<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>
I ended up using API-specific margin values. My action button is like this:
<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
is defined in both values/dimens.xml:
<dimen name="action_button_margin">0dp</dimen>
And in values-v21/dimens.xml:
<dimen name="action_button_margin">16dp</dimen>
Just use:
app:useCompatPadding="true"
This should add required space.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With