İlk öğenin üstünde ve son öğeden sonra bölücüler istedim. @Nilesh çözüm kullanarak kukla menü öğeleri eklemek ve gerçekten kirli hissettim false olarak ayarlanmış vardı. Ayrıca menümde başka harika şeyler yapmak istersem ne olur?
NavigationView'ın, kendi içeriğinizi tıpkı bir FrameLayout için yaptığınız gibi koyabileceğiniz şekilde FrameLayout'u genişlettiğini fark ettim. Sonra sadece benim özel düzeni göstermek için boş bir menü xml ayarladım. Bunun muhtemelen Google'ın bizim istediğimiz yola aykırı olduğunu biliyorum ama gerçekten özel bir menü istiyorsanız bunu yapmanın kolay bir yoludur.
<!--Note: NavigationView extends FrameLayout so we can put whatever we want in it.-->
<!--I don't set headerLayout since we can now put that in our custom content view-->
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:menu="@menu/empty_menu">
<!--CUSTOM CONTENT-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- CUSTOM HEADER -->
<include
android:id="@+id/vNavigationViewHeader"
layout="@layout/navigation_view_header"/>
<!--CUSTOM MENU-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_below="@+id/vNavigationViewHeader">
<View style="@style/NavigationViewLineSeperator"/>
<Button android:text="Option 1"/>
<View style="@style/NavigationViewLineSeperator"/>
<Button android:text="Option 2"/>
<View style="@style/NavigationViewLineSeperator"/>
</LinearLayout>
</RelativeLayout>
</android.support.design.widget.NavigationView>
İşte tarz
<style name="NavigationViewLineSeperator">
<item name="android:background">@drawable/line_seperator</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
</style>
Ve çekilebilir
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white"/>
<size android:width="100sp"
android:height="1sp" />
</shape>
Ve menü
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
</menu>
Düzenle:
Düğmeler yerine, orijinal menü öğelerinin görünüşünü taklit eden çekilebilir TextView kullanabilirsiniz:
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/menu_support"
android:drawableLeft="@drawable/menu_icon_support"
style="@style/MainMenuText" />
// style.xml
<style name="MainMenuText">
<item name="android:drawablePadding">12dp</item>
<item name="android:padding">10dp</item>
<item name="android:gravity">center_vertical</item>
<item name="android:textColor">#fff</item>
</style>