В настоящее время я разрабатываю приложение для Android с поддержкой NavigationView. Я должен задать вопрос так, как хочу: (1) Я хочу разделить навигационные элементы на две области: одну сверху сверху заголовка и одну в нижнем конце. (2) Я хочу удалить прокладку между разделителем и элементом под ним.Android NavigationView с внутренним интервалом
Как это выглядит против, как он должен выглядеть:
Я знаю, что есть способ, чтобы переопределить значение дополнения, которые будут фиксировать (2). Но это кажется грязным, и, возможно, есть еще один подход к достижению этого. Моя идея состояла в том, чтобы получить элемент «Настройки» и изменить его компоновку программно, но до сих пор я не нашел способ получить эту работу. Или мне действительно нужно построить нижний колонтитул?
Кроме того, я не совсем уверен, какие слова я должен искать в Google. Может быть, там уже есть легкий ответ.
Мой текущий код. Прямо сейчас нет изменений макета внутри Activity, поэтому я не добавил его.
activity_main.xml:
<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/main_drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".main.MainActivity">
<!-- The content -->
<LinearLayout>...</LinearLayout>
<!-- The navigation drawer -->
<android.support.design.widget.NavigationView
android:id="@+id/main_navigationview"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@android:color/white"
app:headerLayout="@layout/mainnav_header"
app:itemBackground="@drawable/menu_background"
app:itemIconTint="@color/menu_text"
app:itemTextColor="@color/menu_text"
app:menu="@menu/maindrawer">
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
menu.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:id="@+id/main_drawer_menu1" android:checkableBehavior="single">
<item
android:id="@+id/main_navigationview_request"
android:checkable="false"
android:enabled="false"
android:icon="@drawable/ic_navigationdrawer_request"
android:title="@string/main_navigation_request"
app:actionLayout="@layout/menuitem_default" />
<item
android:id="@+id/main_navigationview_invitations"
android:checked="true"
android:icon="@drawable/ic_navigationdrawer_invitations"
android:title="@string/main_navigation_invitations"
app:actionLayout="@layout/menuitem_default" />
<item
android:id="@+id/main_navigationview_prev"
android:icon="@drawable/ic_navigationdrawer_previous"
android:title="@string/main_navigation_previnvites"
app:actionLayout="@layout/menuitem_default" />
<item
android:id="@+id/main_navigationview_info"
android:icon="@drawable/ic_navigationdrawer_info"
android:title="@string/main_navigation_info"
app:actionLayout="@layout/menuitem_default" />
</group>
<group android:id="@+id/main_drawer_menu2" android:checkableBehavior="single">
<item
android:id="@+id/main_navigationview_settings"
android:checked="true"
android:icon="@drawable/ic_navigationdrawer_settings"
android:title="@string/main_navigation_settings"
app:actionLayout="@layout/menuitem_default" />
<item
android:id="@+id/main_navigationview_logout"
android:icon="@drawable/ic_navigationdrawer_logout"
android:title="@string/main_navigation_logout"
app:actionLayout="@layout/menuitem_caution" />
</group>
мы можем иметь свой код ?? –
конечно, извините. В настоящее время это всего лишь два файла xml. Никаких изменений компоновки не происходит внутри операции – gtRfnkN
Мне нравится тот, который находится справа, но это не проблема, которую я хочу обсудить. Я просто хочу найти способ сделать макет похожим на тот, который находится справа. – gtRfnkN