如何将 FAB 锚定到带边距的 BottomSheet?
How to anchor FAB to BottomSheet with margins?
我的应用程序有问题,我有一个 BottomSheet
并且我正在添加一个 FAB,FAB 应该总是在 BottomSheet
的顶部所以我添加了一个底部边距对于 FAB,问题是一旦 BottomSheet
展开,FAB 就会锚定到 bottomsheet
而没有初始底部边距。
我怎样才能达到 FAB
总是在最前面?
这是我的代码:
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="2dp"
android:padding="2dp"
android:scrollbars="vertical"
tools:listitem="@layout/recyclerview_pterm" />
<include
layout="@layout/bottom_sheet_pterm" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/floatingActionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="76dp"
android:clickable="true"
android:focusable="true"
app:layout_anchor="@+id/bottomSheet"
app:layout_anchorGravity="top|end"
app:srcCompat="@drawable/ic_covid"
android:contentDescription="@string/verifica_gp" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
这是它的样子:
您可以通过将这两个属性添加到 FAB 来解决该问题:
<com.google.android.material.floatingactionbutton.FloatingActionButton
....
app:useCompatPadding="true"
android:layout_gravity="top" />
android:layout_gravity="top"
使 FAB 位于锚点之上(即不与其相交),app:useCompatPadding="true"
允许 FAB 与锚点(即 bottomSheet)之间的填充。
样本:
我的应用程序有问题,我有一个 BottomSheet
并且我正在添加一个 FAB,FAB 应该总是在 BottomSheet
的顶部所以我添加了一个底部边距对于 FAB,问题是一旦 BottomSheet
展开,FAB 就会锚定到 bottomsheet
而没有初始底部边距。
我怎样才能达到 FAB
总是在最前面?
这是我的代码:
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="2dp"
android:padding="2dp"
android:scrollbars="vertical"
tools:listitem="@layout/recyclerview_pterm" />
<include
layout="@layout/bottom_sheet_pterm" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/floatingActionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="76dp"
android:clickable="true"
android:focusable="true"
app:layout_anchor="@+id/bottomSheet"
app:layout_anchorGravity="top|end"
app:srcCompat="@drawable/ic_covid"
android:contentDescription="@string/verifica_gp" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
这是它的样子:
您可以通过将这两个属性添加到 FAB 来解决该问题:
<com.google.android.material.floatingactionbutton.FloatingActionButton
....
app:useCompatPadding="true"
android:layout_gravity="top" />
android:layout_gravity="top"
使 FAB 位于锚点之上(即不与其相交),app:useCompatPadding="true"
允许 FAB 与锚点(即 bottomSheet)之间的填充。
样本: