2017-06-20 4 views
-1

Hallo Leute Ich versuche, die Höhe meiner Navigationsschublade Elemente zu ändern, und ich weiß nicht wie, ich habe überall gesucht und mein Bestes getan, aber nichts scheint zu funktionieren ..Wie man Navigationsschublade Artikel Höhe anpassen

Result

Das ist meine Navigationsleiste Element, das einen Text unter diesem Bild zu haben, besonders angefertigt wird, sondern auch ich will, dass Bild ein wenig größer sein.

Das Ergebnis Suche dies liegt:

Menu Items

Mit rund 75dp der Höhe für jedes Element, und ich mag auch das Menü auf der Breite kürzer sein, die aussehen in diesem Bild zu geben, .

Ich bin mit einem benutzerdefinierten Layout für meine Artikel natürlich, die ich genannt: menu_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:layout_margin="10dp"> 

    <ImageView 
     android:layout_width="75dp" 
     android:layout_height="75dp" 
     android:src="@drawable/menu_icon"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Menu Title" 
     android:textSize="16sp" 
     android:textColor="@color/white" /> 

</LinearLayout> 

mein 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" /> 

    <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:background="@color/colorPrimaryDark" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" /> 

</android.support.v4.widget.DrawerLayout> 

und schließlich das Menü; activity_main_drawer.xml

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

     <item 
      android:id="@+id/nav_profile" 
      app:actionLayout="@layout/menu_item"/> 
</menu> 

Irgendwelche Ideen, wie man das erreichen, was ich will? Vielen Dank im Voraus

EDIT: Wenn ich das Bild in meinem benutzerdefinierten Elemente vergrößere wie folgt:

dies in menu_item.xml ist

<ImageView 
     android:layout_width="75dp" 
     android:layout_height="75dp" 
     android:src="@drawable/menu_icon"/> 

..ich dieses Ergebnis:

result2

Wie Sie sehen, ist mein Bild größer als das Element ..

+1

Sie benutzerdefinierte machen Layout für die Navigation –

+0

Um dies zu erreichen, erstellen Sie einfach ein benutzerdefiniertes Layout. – RameshJaga

+0

@Anas hast du meine Antwort versucht ... ?? – Moulesh

Antwort

5

dies in der Schublade Layout SHD

<style name="NavigationTheme" parent="AppTheme"> 
     <item name="listPreferredItemHeightSmall">60dp</item><!-- menu item height- vary as u need --> 
    </style> 

und Ihre Navigationsansicht auf Ihre styles.xml hinzufügen schließen dieses Thema lik dieses

<android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:theme="@style/NavigationTheme" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" /> 
+0

das funktioniert perfekt, danke, bitte noch eine Sache, wie zentriere ich das Element, weil es auf der rechten Seite bleibt .. – Anas

+0

für das Sie haben zu ändern Sie Element XML, machen lineare Layout Breite Match Elternteil & und machen Layout Schwerkraft von Text & Bild zu Mitte horizontal – Moulesh

+0

es nicht funktioniert bro – Anas

1

machen benutzerdefinierte Layout

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

    <include layout="@layout/custom_view"/> 

</android.support.design.widget.NavigationView> 
+0

Können Sie mehr erklären? Ich habe versucht, das zu tun und mein 'menu_item eingeschlossen.xml "in der NavigationView, das Ergebnis ist das gleiche – Anas

+0

machen Sie eine custom_view für Menüeinträge und einfach jedes Element in Java-Datei von findViewById und setzen Sie click listner auf jedes Element –

+0

danke es funktionierte, aber es erschien über die Kopfzeile der Navigation Menü und auf der linken Seite des Menüs, ich will es in der Mitte – Anas

Verwandte Themen