Как поместить элемент в ящик навигации в Android - PullRequest
1 голос
/ 06 марта 2019

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

Мой навигационный ящик:

<android.support.design.widget.NavigationView
    android:id="@+id/navigationView"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@drawable/drawer_background"
    app:headerLayout="@layout/navigation_drawer_header"
    app:itemIconTint="@color/white"
    app:itemTextColor="@color/white"
    app:menu="@menu/navigation_drawer_items" />

И мое меню выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single">

        <!-- todo: une page d'accueil avec les plus grosse cote, une preview du bilan (cardview? ...)-->

        <item
            android:id="@+id/navItemHome"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/action_home"/>

        <item
            android:id="@+id/navItemParisTermine"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/actionParisTermine"/>

        <item
            android:id="@+id/navItemAffiliation"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/actionAffiliation"/>

        <item
            android:id="@+id/navItemBilan"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/actionBilan"/>

        <item
            android:id="@+id/navItemContactDeveloppeur"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/actionContactDeveloppeur"/>

    </group>


</menu>

Извините за мой английский и спасибо за ваше внимание!

Ответы [ 2 ]

1 голос
/ 06 марта 2019

Вместо использования меню в панели навигации создайте пользовательский макет

<android.support.design.widget.NavigationView
android:id="@+id/navigation"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

  // CREATE YOUR LAYOUT HERE 

</LinearLayout>

Надеюсь, вы его получили.Не беспокойтесь о своем английском, никто не должен смеяться, когда кто-то изучает новый язык, это просто означает, что он знает другой

0 голосов
/ 06 марта 2019

Меню довольно ограничено по настройке.В этом случае вам, вероятно, нужно вообще избавиться от меню.Для этого удалите эту строку:

  app:menu="@menu/navigation_drawer_items"

Вы можете положиться на заголовок навигационной панели и реализовать пользовательский вид с иконками, как показано в примере.Ваше навигационное представление имеет следующую строку:

app:headerLayout="@layout/navigation_drawer_header"

Итак, перейдите к navigation_drawer_header и примените к нему пользовательский макет.

...