Ich möchte unter die Navigationsleiste ähnlich der der LinkedIn-App replizieren:Wie können Sie einem Navigationsfach dauerhafte Schaltflächen hinzufügen?
Beachten Sie, dass die Nachricht, Benachrichtigung und die Einstellungen Schaltflächen am oberen Rand sind persistent und sind nicht Teil des scrollbaren Liste.
Ich habe das offizielle Android-Tutorial für Navigation Drawer sowie zahlreiche andere Tutorials verfolgt, die einfach kein zusätzliches Licht dafür liefern, wie ich das erreichen kann.
Das Beste, was ich mir vorstellen konnte, war, dem Header-Layout der Navigationsschubladen-Vorlage in Android Studio 2.1.1 3 ImageButtons hinzuzufügen.
EDIT: Wie Prats und ein paar andere Ratschläge, habe ich ein zusätzliches Header-Layout kurz vor der Schublade, die die 3 Tasten enthält, aber egal die Z-Reihenfolge der Layouts innerhalb der XML, es scheint sich hinter der Schublade zu verstecken. Siehe Bild unten stehende Abbildung:
Im Folgenden sind die Layout-Dateien:
header.xml (enthält die 3 Tasten)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="right"
android:background="#111">
<ImageButton
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"
android:src="@drawable/ic_menu_manage" />
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"
android:src="@drawable/ic_menu_manage" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"
android:src="@drawable/ic_menu_manage" />
</LinearLayout>
nav_header_main.xml (default erzeugt Header)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="right"
android:background="#111">
<ImageButton
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"
android:src="@drawable/ic_menu_manage" />
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"
android:src="@drawable/ic_menu_manage" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"
android:src="@drawable/ic_menu_manage" />
</LinearLayout>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#fff">
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="false"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
<include
android:id="@+id/header"
layout="@layout/header"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_alignParentTop="true" />
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
Try.In diesem können Sie diese Tasten in headerlayout definieren –
Setzen Sie Ihre 'Button' oberhalb der 'NavigationView' in eine andere' ViewGroup', die Sie als die Schublade verwenden. –