Как установить FAB перед нижней панелью приложения? - PullRequest
0 голосов
/ 22 ноября 2018

Как я могу поместить плавающую кнопку действия перед нижней панелью приложения?Другими словами, как установить нижнюю панель приложения, чтобы заполнить весь ряд за потрясающим?

От этого: enter image description here

До этого: enter image description here

Изображения через medium.com

Согласно этого урока должен быть атрибутс именем fabCradleDiameter, но на самом деле такого атрибута для этого компонента нет.

Ответы [ 3 ]

0 голосов
/ 23 ноября 2018

Попробуйте, это сработало для меня .. может работать и для вас.

<android.support.design.bottomappbar.BottomAppBar
        android:id="@+id/bottomAppBar"
        style="@style/Widget.MaterialComponents.BottomAppBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:backgroundTint="@color/colorPrimary"
        app:fabAlignmentMode="center"
        app:fabCradleMargin="0dp"
        app:fabCradleRoundedCornerRadius="0dp"
        app:hideOnScroll="true"
        app:navigationIcon="@drawable/ic_menu_black_24dp" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="centerCrop"
        android:src="@drawable/ic_favorite_red_24dp"
        app:borderWidth="0dp"
        app:fabSize="normal"
        app:layout_anchor="@id/bottomAppBar" />
0 голосов
/ 23 ноября 2018

Ключ к использованию новой темы материала.Также ваш макет контейнера должен быть макетом координатора.Используйте приведенный ниже код для изменения макета.

<android.support.design.widget.CoordinatorLayout
    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">

  <!-- Other components and views -->

  <com.google.android.material.bottomappbar.BottomAppBar
      android:id="@+id/bar"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_gravity="bottom"
      style="@style/Widget.MaterialComponents.BottomAppBar"      //Material style. 
      app:navigationIcon="@drawable/ic_menu_24"/>

  <com.google.android.material.floatingactionbutton.FloatingActionButton
      android:id="@+id/fab"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      app:layout_anchor="@id/bar"/>

</android.support.design.widget.CoordinatorLayout>
0 голосов
/ 22 ноября 2018

Да, нет атрибута с именем fabCradleDiameter, его fabCradleMargin

и убедитесь, что версия указана после:

com.google.android.material:material:1.0.0-alpha3
...