Как реализовать нижнюю навигацию с плавающим центром панели действий - PullRequest
1 голос
/ 03 мая 2019

Я использую нижнюю панель навигации с пейджером просмотра для своего приложения для Android, и она имеет 5 вкладок, и я хочу, чтобы средняя вкладка была круговой или как плавающая панель действий в середине

вот идея https://github.com/ittianyu/BottomNavigationViewEx/blob/master/read_me_images/center_fab.jpg

1 Ответ

0 голосов
/ 03 мая 2019

Посмотрите на эту статью:
https://medium.com/material-design-in-action/implementing-bottomappbar-material-components-for-android-f490c4a01708

Он использует официальные библиотеки, которые, к сожалению, все еще находятся на стадии альфа, но они прекрасно работают для меня. Итак, вкратце: добавить

implementation 'com.google.android.material:material:1.1.0-alpha05'

на ваш build.gradle

Затем создайте файл activity.xml следующим образом:

<androidx.coordinatorlayout.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">

    <Your content here>

    <com.google.android.material.bottomappbar.BottomAppBar
        android:id="@+id/bottom_appbar"
        style="@style/Widget.MaterialComponents.BottomAppBar.Colored"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:hideOnScroll="true"
        app:layout_scrollFlags="scroll|enterAlways"
        app:navigationIcon="@drawable/ic_menu_white_24dp"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_stop_white_24dp"
        app:backgroundTint="@color/colorAccent"
        app:layout_anchor="@+id/bottom_appbar"
        app:tint="@color/colorWhite" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

И тебе надо идти

...