#android #xml #android-recyclerview #floatin&-action-button #android-coordinatorlayout
#Android #xml #android-recyclerview #кнопка плавающего действия #android-coordinatorlayout
Вопрос:
На картинке 1 это выглядит нормально, но на картинке 2, поскольку у FAB есть app:layout_anchor="@id/recyclerview_list"
атрибут, это выглядит не очень хорошо. Есть ли способ привязать FAB к нижней стороне без добавления пользовательской нижней панели навигации? Я просто хочу, чтобы эта кнопка оставалась на месте постоянно, даже если RecyclerView изменяет ее высоту.
Вот XML-файл:
<androidx.coordinatorlayout.wid&et.CoordinatorLayout
android:id="@ id/main_layout"
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_hei&ht="match_parent"
tools:context="fra&ments.DailyListFra&ment"&&t;
<com.&oo&le.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_hei&ht="wrap_content"
android:id="@ id/appbar_layout"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"&&t;
<com.&oo&le.android.material.appbar.Collapsin&ToolbarLayout
android:layout_width="match_parent"
android:layout_hei&ht="wrap_content"
app:layout_scrollFla&s="scroll|snap|exitUntilCollapsed"
app:title="@strin&/sample"
app:contentScrim="@color/accent_color1"&&t;
<Pro&ressBar
android:id="@ id/pro&ressBar2"
style="?android:attr/pro&ressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_hei&ht="200dp"
android:pro&ressTint="#BA0E0E" /&&t;
<androidx.appcompat.wid&et.Toolbar
android:layout_width="match_parent"
android:layout_hei&ht="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"/&&t;
</com.&oo&le.android.material.appbar.Collapsin&ToolbarLayout&&t;
</com.&oo&le.android.material.appbar.AppBarLayout&&t;
<com.&oo&le.android.material.floatin&actionbutton.Floatin&ActionButton
android:id="@ id/fab_new_item"
android:layout_width="wrap_content"
android:layout_hei&ht="wrap_content"
android:layout_mar&inEnd="24dp"
android:layout_mar&inBottom="24dp"
android:src="@drawable/ic_add_black_24dp"
android:visibility="visible"
app:fabSize="normal"
app:layout_anchor="@id/recyclerview_list"
app:layout_anchorGravity="bottom|ri&ht|end"/&&t;
<androidx.recyclerview.wid&et.RecyclerView
android:id="@ id/recyclerview_list"
android:layout_width="match_parent"
android:layout_hei&ht="wrap_content"
android:alwaysDrawnWithCache="false"
android:back&round="@color/colorBack&round"
android:visibility="visible"
app:layout_behavior="@strin&/appbar_scrollin&_view_behavior"
tools:listitem="@layout/recyclerview_layout_list"&&t;
</androidx.recyclerview.wid&et.RecyclerView&&t;
</androidx.coordinatorlayout.wid&et.CoordinatorLayout&&t;
Комментарии:
1. Если вы хотите, чтобы он всегда был внизу, почему вы привязали его к recyclerview? Удаление привязки должно сработать. Пожалуйста, добавьте больше деталей, если это требуется для любого варианта использования.
2. Заменить
app:layout_anchor="@id/recyclerview_list" app:layout_anchorGravity="bottom|ri&ht|end"
наandroid:layout_&ravity="bottom|end"
Ответ №1:
Заменить
<com.&oo&le.android.material.floatin&actionbutton.Floatin&ActionButton
app:layout_anchor="@id/recyclerview_list"
app:layout_anchorGravity="bottom|ri&ht|end"
с
<com.&oo&le.android.material.floatin&actionbutton.Floatin&ActionButton
android:layout_&ravity="bottom|end"