Gesetzt der Schwerkraft von benutzerdefinierter navigation Schublade Menü Element

Ich bin das hinzufügen von Menüpunkten für die navigation Schublade pragmatisch. Alle Elemente werden Hinzugefügt, um die Links der navigation anzeigen, aber wenn ich eigene Menüpunkt fügt das Element auf der rechten Seite der Navigations-Ansicht.

Ich bin das hinzufügen der Menü-Elemente pragmatisch wie folgt:

        Menu menu = mNavigationView.getMenu();
        if (menu == null) return;

        //add home menu
        menu.add(0, 1, Menu.NONE, "Home");

        //add refer menu
        menu.add(0, 2, Menu.NONE, "Refer and Earn");

        //add points menu
        MenuItem menuItem = menu.add(0, 3, Menu.NONE, null);
        menuItem.setActionView(R.layout.layout_nav_menu_points);

        //add settings menu
        menu.add(0, 4, Menu.NONE, "Settings");

        //add about us menu
        menu.add(0, 5, Menu.NONE, "About us");

        //add logout menu
        menu.add(0, 6, Menu.NONE, "Logout");

Unten ist der code von layout_nav_menu_points:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:gravity="start|center_vertical"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Points"
            android:textColor="@android:color/black"
            android:textSize="@dimen/font_14" />

        <ImageView
            android:layout_width="@dimen/dimen_5"
            android:layout_height="@dimen/dimen_5"
            android:layout_marginLeft="@dimen/dimen_2"
            android:layout_marginRight="@dimen/dimen_2"
            android:contentDescription="@string/app_name"
            android:src="@drawable/shape_red_dot" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="-2dp"
        android:layout_marginLeft="@dimen/dimen_2"
        android:layout_marginRight="@dimen/dimen_2"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"
            android:textColor="@color/textColorPrimary"
            android:textSize="@dimen/font_12" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/dimen_2"
            android:layout_marginRight="@dimen/dimen_2"
            android:text="pt"
            android:textColor="@color/textColorPrimary"
            android:textSize="@dimen/font_12" />
    </LinearLayout>

</LinearLayout>

Immer unten Ergebnis:
Gesetzt der Schwerkraft von benutzerdefinierter navigation Schublade Menü Element

BEARBEITEN: ich habe versucht, mit RelativeLayout statt LinearLayout aber immer das gleiche Ergebnis. Unten ist der code von layout_nav_menu_points mit RelativeLayout:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:gravity="start|center_vertical"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/ll_points"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Points"
            android:textColor="@android:color/black"
            android:textSize="@dimen/font_14" />

        <ImageView
            android:layout_width="@dimen/dimen_5"
            android:layout_height="@dimen/dimen_5"
            android:layout_marginLeft="@dimen/dimen_2"
            android:layout_marginRight="@dimen/dimen_2"
            android:contentDescription="@string/app_name"
            android:src="@drawable/shape_red_dot" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="-2dp"
        android:layout_below="@id/ll_points"
        android:layout_marginLeft="@dimen/dimen_2"
        android:layout_marginRight="@dimen/dimen_2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"
            android:textColor="@color/textColorPrimary"
            android:textSize="@dimen/font_12" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/dimen_2"
            android:layout_marginRight="@dimen/dimen_2"
            android:text="pt"
            android:textColor="@color/textColorPrimary"
            android:textSize="@dimen/font_12" />
    </LinearLayout>

</RelativeLayout>

EDIT: Unten ist der code für shape_red_dot

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

        <solid
            android:color="#EC2027" />

        <size
            android:height="10dp"
            android:width="10dp" />
    </shape>

Bitte jemand mir empfehlen, wie zu bewegen, die „point“ – Menü auf der linken wie der rest der Menüpunkte. Dank

  • warum nutzen Sie nicht RelativeLayout ?
  • Versucht RelativeLayout als gut, aber immer das gleiche Ergebnis.
  • aktualisierte code of relative layout
  • Aktualisiert meine Frage mit RelativeLayout Umsetzung.
  • stackoverflow.com/questions/32613437/…
  • Ich bin immer Vorschau wie dieser … haben Sie nicht geteilt ur komplette code

InformationsquelleAutor Geeky Singh | 2016-10-05



One Reply
  1. 0

    In Ihrem nav_menu_points.. Bitte ändern Sie Ihre layout_gravity und Schwerkraft-Wert…..

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
    
        *** CHANGED CODE
        android:layout_gravity="left"
        android:gravity="left|center_horizontal"
        *** CHANGED CODE ENDS
    
        android:orientation="vertical">

    Ergebnis Bild:

    Gesetzt der Schwerkraft von benutzerdefinierter navigation Schublade Menü Element

    Unterschied zwischen Schwerkraft und layout_gravity..
    Auch die Schwerkraft, stellen Sie Ihre Inhalte Schwerkraft (wo) in der Erwägung, layout_gravity, legen Sie Ihr layout an die Schwerkraft.

    Hoffe, dass es das problem löst. Prost!

    • Sehen Sie, in meiner Frage, ich habe bereits versucht diesen code.
    • Ich habe verändert die Schwerkraft und layout_gravity Wert, markiert im inneren von Sternen..
    • Ich habe „start“ statt Links, Schwerkraft und layout_gravity Wert zur Unterstützung von RTL. So wird es dasselbe sein, wenn ich „Links“ anstelle von „start“
    • verwendet mein Bild zu reproduzieren, ist das Szenario in meinem Ende. kam heraus dass.
    • Dies ist nur eine Vorschau des Layouts. Ich bin immer die gleiche Vorschau aber wenn ich dieses layout mit navigation im Menü, es erscheint auf der rechten Seite nicht auf der linken Seite. Versuchen Sie, das layout der navigation den Menüpunkt, und das Ergebnis sehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.