How To Use Floating Button Over Vertical Scroll View?
The Gmail Android App Floating Button I want to add a floating button over a scroll view in Android. Such that, even if I scroll the layout, the button should remain constant at th
Solution 1:
If you place the button on top of the layout instead of in the recyclerview it wont move when you scroll.
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><androidx.recyclerview.widget.RecyclerViewandroid:layout_width="match_parent"android:layout_height="match_parent" /><com.google.android.material.floatingactionbutton.FloatingActionButtonandroid:id="@+id/floatingActionButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginEnd="8dp"android:layout_marginBottom="8dp"android:clickable="true"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:srcCompat="@android:drawable/ic_input_add" /></androidx.constraintlayout.widget.ConstraintLayout>
Solution 2:
It's not a ScrollView
, it's a RecyclerView. You can use CoordinatorLayout
for this purpose
<?xml version="1.0" encoding="utf-8"?><androidx.coordinatorlayout.widget.CoordinatorLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><com.google.android.material.appbar.AppBarLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><androidx.appcompat.widget.Toolbarandroid:layout_width="match_parent"android:layout_height="?attr/actionBarSize"/></com.google.android.material.appbar.AppBarLayout><YourlayoutwithRecyclerView/><com.google.android.material.floatingactionbutton.FloatingActionButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="bottom|end"android:src="@android:drawable/ic_menu_edit" /></androidx.coordinatorlayout.widget.CoordinatorLayout>
If you still want to use a ScrollView, just put it as a sibling of your RecyclerView with gravity bottom.
Solution 3:
make the Scroll View inside constraint layout don't make the main parent layout the scroll view.
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayoutxmlns: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.support.design.widget.FloatingActionButtonandroid:id="@+id/floatingActionButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginEnd="8dp"android:layout_marginRight="8dp"android:layout_marginBottom="8dp"android:clickable="true"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"tools:srcCompat="@tools:sample/avatars[0]" /><ScrollViewandroid:layout_width="match_parent"android:layout_height="match_parent"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical" /></ScrollView></android.support.constraint.ConstraintLayout>
Post a Comment for "How To Use Floating Button Over Vertical Scroll View?"