Cómo combinar BottomAppBar + FAB con BottomNavigationView
Quiero usar laFloatingActionButton
, junto con su comportamiento cuando está anclado en una BottomAppBar, encima de BottomNavigationView.
e me ocurrió un truco bastante "hacky" para colocar elBottomNavigationView
en la parte superior de BottomAppBar sin proporcionar un fondo, lo que lo hace transparente.
Esto pareció funcionar bien a primera vista, pero descubrí que solo se puede hacer clic en el botón fab cuando se toca la mitad superior del botón (Entonces, donde no hay un @ transparenBottomNavigationView
en la parte superior)
<androidx.constraintlayout.widget.ConstraintLayout 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">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_gravity="bottom"
app:layout_constraintBottom_toBottomOf="parent">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
app:layout_anchor="@id/bar" />
<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bar"
android:layout_width="match_parent"
android:layout_height="58dp"
android:layout_gravity="bottom"
android:backgroundTint="@color/colorPrimaryDark" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:itemIconTint="@android:color/darker_gray"
app:itemTextColor="@android:color/white"
app:labelVisibilityMode="labeled"
app:menu="@menu/navigation" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
¿Hay alguna forma de implementar esta idea en la que puedo hacer clic completamente enFloatingActionButton
?