Mangesh Ghotage Mangesh Ghotage - 18 days ago 5
Android Question

FAB is hiding under Bottom Sheet

I have following XML:

<android.support.design.widget.CoordinatorLayout
android:id="@+id/sliding_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/app_bar">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<fragment
android:id="@+id/fragment1"
android:name="com.xyz.Fragment1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:layout="@layout/fragment_layout1" />
</LinearLayout>

<LinearLayout
android:id="@+id/layoutBottomSheet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="@dimen/global_margin"
android:orientation="vertical"
app:layout_behavior="@string/bottom_sheet_behavior">

<fragment
android:id="@+id/fragment2"
android:name="com.xyz.Fragment2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center|top"
tools:layout="@layout/fragment_layout2" />
</LinearLayout>

<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/global_margin"
android:layout_marginRight="@dimen/global_margin"
android:src="@drawable/ic_add_white_24dp"
app:borderWidth="0dp"
app:elevation="4dp"
app:layout_anchor="@id/layoutBottomSheet"
app:layout_anchorGravity="top|right|end" />
</android.support.design.widget.CoordinatorLayout>


The layout should appear as,
Fragment1
then below that
Fragment2
and FAB is anchored to
Fragment2
but, above
Fragment2
and not under it.

Actually it is showing as,

screenshot

What is going wrong? Any idea?

Answer

Your layoutBottomSheet-LinearLayout has an elevation of @dimen/global_margin. If this dimension is larger than the 4dp you defined as elevation for the FloatingActionButton, then the button is hidden behind the higher layout.

Probably that dimension is larger than 4dp. So alter the elevation of the button accordingly.

Comments