#android #xml #menu #navigation-drawer
#Android #xml #меню #навигация-панель
Вопрос:
Я хочу создать панель навигации со значками и текстом, отображаемыми следующим образом: изображение с отображением значка в блоке
Моя панель навигации :
<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>
Извините за мой английский и спасибо за ваше внимание!
Комментарии:
1. что не работает в вашем коде?
Ответ №1:
Вместо использования меню в панели навигации создайте пользовательский макет
<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>
Я надеюсь, ты это понял.
Не беспокойтесь о своем английском, никто не должен смеяться, когда кто-то изучает новый язык, это просто означает, что он знает другой
Ответ №2:
Меню довольно ограничено в настройке. В этом случае вам, вероятно, вообще пришлось бы избавиться от menu. Для этого удалите эту строку:
app:menu="@menu/navigation_drawer_items"
Вы можете полагаться на заголовок панели навигации и реализовать пользовательский вид с иконками, как показано в примере.
В вашем представлении навигации есть эта строка:
app:headerLayout="@layout/navigation_drawer_header"
Итак, перейдите к navigation_drawer_header
и примените к нему пользовательский макет.