BottomAppBar-Implementierung. Teil 1: Materialkomponenten für Android

BottomAppBar-Implementierung. Teil 1: Materialkomponenten für Android


BottomAppBar ist eine der neuen Android Material-Komponenten, die bei Google I / O 2018 eingeführt wurden . Dies ist im Wesentlichen eine Erweiterung der Symbolleistenkomponente . Die neue BottomAppBar befindet sich im unteren Bereich des Anwendungsfensters, im Gegensatz zur Symbolleiste, die sich oben befindet. Mit diesem Paradigma erwartet das Material Design-Team eine neue Benutzererfahrung (UX). BottomAppBar ist für den Benutzer im Vergleich zur üblichen Symbolleiste viel zugänglicher. Durch Verschieben des Bedienfelds und des Menüs an den unteren Rand der Anwendung bietet BottomAppBar ein radikal neues Design für Android-Anwendungen.


Zusammen mit der BottomAppBar hat sich auch die Position der Floating Action Button (FAB) geändert (Russian Floating Action Button ). Jetzt kann FAB entweder in die BottomAppBar "abgestürzt" oder überlappt werden.


Dieser Artikel zeigt die Implementierung der BottomAppBar-Grundlagen zusammen mit den neuen FAB-Platzierungsoptionen.


Anpassung


Zunächst ist eine kleine Ersteinrichtung erforderlich.


Eine ausführliche Erklärung zum Aktivieren von Materialkomponenten für Ihr Android-Projekt finden Sie auf dieser Seite . Darüber hinaus müssen Sie in diesem Lernprogramm Android Studio 3.2 oder höher verwenden .


Nachfolgend finden Sie die erforderlichen Konfigurationsschritte.


1. Fügen Sie das Google Maven-Repository in die Datei build.gradle .


 allprojects { repositories { jcenter() maven { url "https://maven.google.com" } } } 

2. Fügen build.gradle Datei build.gradle eine Abhängigkeit für Materialkomponenten build.gradle . Beachten Sie, dass die Version regelmäßig aktualisiert wird.


 implementation 'com.google.android.material:material:1.0.0-alpha1' 

compileSdkVersion als compileSdkVersion und targetSdkVersion die minimale API-Version für Android P fest (d. H. 28 und höher).


compileSdkVersion und targetSdkVersion


4. Stellen Sie sicher, dass Ihre Anwendung das Theme.MaterialComponents-Design erbt, damit BottomAppBar den neuesten Stil verwendet. Alternativ können Sie die BottomAppBar beim Deklarieren des Widgets in der Layout-XML-Datei wie folgt formatieren:


 style=”@style/Widget.MaterialComponents.BottomAppBar” 

Implementierung


Sie können Ihrem Layout wie folgt eine BottomAppBar hinzufügen. Außerdem muss die BottomAppBar ein untergeordnetes Element des CoordinatorLayout sein .


 <com.google.android.material.bottomappbar.BottomAppBar android:id="@+id/bottom_app_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" app:backgroundTint="@color/colorPrimary" app:fabAlignmentMode="center" app:fabAttached="true" app:navigationIcon="@drawable/baseline_menu_white_24"/> 

Bottomappppbar


Sie können das FAB an die BottomAppBar binden, indem Sie die id des BottomAppBar-Elements im Attribut app:layout_anchor des FAB-Elements app:layout_anchor . BottomAppBar kann FAB einhüllen oder FAB kann BottomAppBar überlappen.


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

BottomAppBar umhüllt FAB


BottomAppBar-Attribute


Die folgende Tabelle zeigt die Attribute der BottomAppBar.


BottomAppBar-Attribute


backgroundTint


Dies ist das Attribut zum Festlegen der Hintergrundfarbe der BottomAppBar.


fabAlignmentMode


Das Attribut bestimmt die Position des FAB (entweder in der Mitte oder am Ende der BottomAppBar). Unten finden Sie die FAB-Ausrichtung am Ende der BottomAppBar.


fabAlignmentMode: end


fabelhaft angebracht


Das Attribut dient zum Binden des FAB an die BottomAppBar und kann wahr oder falsch sein . Obwohl im Material Design Guide nicht empfohlen wird, FABs außerhalb der BottomAppBar zu platzieren, besteht die Möglichkeit einer solchen Anpassung. Im Folgenden wird das Attribut fabAttached auf false gesetzt .


fabAlignmentMode: end, fabAttached: false


fabCradleDiameter


Bestimmt den Durchmesser der „Wiege“, die das FAB enthält.


Der Durchmesser der "Wiege"


fabCradleRoundedCornerRadius


Legt den Radius der Ecke am Treffpunkt der "Wiege" und des horizontalen Teils der BottomAppBar fest.


Der Radius des Winkels der "Wiege"


fabCradleVerticalOffset


Zeigt den Cradle-Versatz von unten an.


Cradle Offset


Hier ist die gesamte Layout-XML-Datei, die für die obigen Beispiele verwendet wurde.


 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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_height="match_parent" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> <androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent"> <com.google.android.material.bottomappbar.BottomAppBar android:id="@+id/bottom_app_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" app:backgroundTint="@color/colorPrimary" app:fabAlignmentMode="center" app:fabAttached="true" app:navigationIcon="@drawable/baseline_menu_white_24"/> <com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/baseline_add_white_24" app:layout_anchor="@id/bottom_app_bar" /> </androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.constraintlayout.widget.ConstraintLayout> 

Wir haben die Grundlagen der neuen Android-Material-Komponente BottomAppBar sowie die neuen FAB-Funktionen herausgefunden. Das BottomAppBar-Widget selbst ist nicht schwer zu verwenden, da es die übliche Symbolleiste erweitert, aber den Ansatz zum Entwerfen der Anwendungsoberfläche grundlegend ändert.


Der zweite und dritte Teil dieser BottomAppBar-Reihe konzentrieren sich auf die Arbeit mit Menüs und das Navigieren und Implementieren verschiedener BottomAppBar-Verhaltensweisen gemäß den Prinzipien des Materialdesigns.


→ Implementierung von BottomAppBar. Teil 2: Menü- und Navigationsschubladensteuerung
→ Implementierung von BottomAppBar. Teil 3: Verhalten für Android

Source: https://habr.com/ru/post/de421879/


All Articles