Wie ändere ich die Größe des Menüelementsymbols in NavigationView?

Lesezeit: 5 Minuten

Benutzer-Avatar
Chris Maverick

Ich habe folgenden Menüpunkt:

<item
   android:id="@+id/lock"
   android:checkable="true"
   android:title="@string/lock" >
   <menu>
       <item
          android:id="@+id/block_mess"
          android:checked="true"
          android:icon="@drawable/chantinnhan"
          android:title="@string/block_mess_string" />
        <item
            android:id="@+id/block_call"
            android:checked="false"
            android:icon="@drawable/chancuocgoi"
            android:title="@string/block_call_string" />
        <item
            android:id="@+id/lock_app"
            android:checked="false"
            android:icon="@drawable/khoaungdung"
            android:title="@string/lock_app_string" />
   </menu>
</item>

… es gibt noch mehr, aber es ist wirklich lang

aber das Symbol ist wirklich klein (auch wenn es eine Auflösung von 256 x 256 hat). Ich möchte es größer machen! Ist das möglich?

Hier ist der Screenshot:

Geben Sie hier die Bildbeschreibung ein

BEARBEITEN: OK, wir wissen beide, dass Google die Symbolgröße “sperrt”. Aber ich möchte wissen, ob ich diese Sperre “umgehen” und etwas … Anpassbares machen kann?

  • irgendein glück diesbezüglich??? ich stecke auch fest

    – Aman Verma

    2. Oktober 2015 um 10:58 Uhr

  • @AmanVerma immer noch kein Glück, Kumpel :((

    – Chris Maverick

    2. Oktober 2015 um 11:00 Uhr

  • Haben wir eine Beispiel-App mit größeren Symbolen als dieser Größe? Sogar Gmail hat Symbole in der gleichen Größe. Was ich gehört und gelesen habe, ist, dass die Navigationsansicht den Richtlinien für das Materialdesign folgt, sodass die Symbolgrößen dieser Richtlinie entsprechen.

    – Abdullah Schoaib

    11. Oktober 2015 um 17:45 Uhr

  • Ich brauche auch große Symbole, aber wenn wir eine Beispiel-App finden, können wir vielleicht eine E-Mail an den Entwickler senden und etwas Wissen sammeln. 🙂

    – Abdullah Schoaib

    11. Oktober 2015 um 17:46 Uhr

  • @AbdullahShoaib tatsächlich können Sie eine benutzerdefinierte Schublade erstellen. Nicht wirklich gut, aber anpassbar.

    – Chris Maverick

    12. Oktober 2015 um 1:31 Uhr

Sie können die Größe des navigationView-Symbols durch Überschreiben ändern design_navigation_icon_size Attribut. Sie können es in Dimensionen angeben, und da Sie ein privates Attribut überschreiben, müssen Sie es einschließen tools:override="true"

<dimen name="design_navigation_icon_size" tools:override="true">40dp</dimen>

  • ziemlich alte Frage. Aber es ist immer noch eine richtige Antwort. Akzeptiert 😀

    – Chris Maverick

    16. August 2016 um 6:38 Uhr


  • Ist diese Antwort noch richtig? Ich versuche das, aber ich habe keinen Erfolg und es zeigt immer die gleiche Größe in der NavigationView-Komponente.

    – X-Mensch

    17. November 2017 um 17:36 Uhr

  • Ich habe es gerade an meinem Code ausprobiert, es funktioniert immer noch. Verwenden Sie SupportLibrary? Versuchen Sie, Ihre Klasse auf AppCompatActivity zu erweitern.

    – Amad Yus

    20. November 2017 um 3:07 Uhr

  • Warum erwähnen Sie nicht, dass es in der Dimensionsdatei enthalten sein muss!

    – Kischan Solanki

    16. April 2018 um 11:16 Uhr


  • @ KishanSolanki124 Ich habe es getan. Lies erneut.

    – Amad Yus

    17. April 2018 um 10:14 Uhr

Lösung erhalten

Unten Eintrag in Abmessungen vornehmen.

<dimen name="design_navigation_icon_size">48dp</dimen>

In Ihrer XML-Datei ist der kürzeste Weg, es gibt eine Eigenschaft in NavigationView. Fügen Sie sie einfach hinzu.

app:itemIconSize="12dp"

  • Genial! Coincident hat gerade vor 4 Stunden geantwortet. 😀

    – OhhhDasVarun

    13. September 2019 um 10:18 Uhr

  • Ich habe keine Ahnung, warum nur diese Lösung für mich funktioniert. ich benutze com.google.android.material.navigation.NavigationView

    – Pengyou

    5. September 2021 um 13:40 Uhr

  • Vielen Dank. Dies ist die beste Antwort.

    – Oke Uwechue

    2. Mai um 21:02 Uhr

Benutzer-Avatar
Zuo VJ

Die Hauptsache, die die Größe des Symbols bestimmt, ist die Abmessung:navigation_icon_sizeschau dir mal die an NavigationMenuItemView Klasse:

 public NavigationMenuItemView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    this.mIconSize = context.getResources().getDimensionPixelSize(dimen.navigation_icon_size);
}

Daher können wir die Eigenschaft in unserer Dimensionsdatei einfach überschreiben.

Zum Beispiel:

<dimen name="navigation_icon_size">48dp</dimen>

Fügen Sie diesen Code in die Dimensionsdatei ein, und Sie können feststellen, dass sich die Größe geändert hat.

Vor:

Geben Sie hier die Bildbeschreibung ein

Nach:

Geben Sie hier die Bildbeschreibung ein

Gemäß dem von festgelegten Designdokument Google selbst, Symbole sollten gesetzt werden 14sp. Ich schlage vor, dass Sie sich an diese Empfehlung halten, da dies ein Standard ist, der in allen Apps verwendet wird. Wie Sie sagten, gibt es keine Apps mit großen Symbolen in der Navigationsleiste, da dies bei der Entwicklung eines Symbols für die Navigationsleiste nicht üblich ist.

Geben Sie hier die Bildbeschreibung ein

  • Können Sie bitte akzeptieren und positiv abstimmen, wenn dies Ihnen geholfen hat? Vielen Dank 🙂

    – Michele LaFerla

    1. Dezember 2015 um 9:08 Uhr

  • Wir alle wissen, dass Google die Symbolgröße “sperrt”. Aber was ich fragen möchte, ist, ob ich diese Sperre “umgehen” kann, indem ich etwas programmgesteuert mache … Aber ja, eine positive Bewertung für Sie: D

    – Chris Maverick

    4. Dezember 2015 um 3:33 Uhr


  • Sie können versuchen, mit der eigentlichen Layout-XML-Datei für die Navigationsansicht zu spielen, aber andererseits glaube ich, dass Google sie auf eine bestimmte Größe fixiert. Es gäbe also keine Möglichkeit, das zu umgehen.

    – Michele La Ferla

    4. Dezember 2015 um 7:46 Uhr

  • Ich frage mich, wo in dem verlinkten Artikel erwähnt wird, dass die Symbolgröße sein sollte 14sp

    – Alex Sorokoletow

    12. Januar 2018 um 21:06 Uhr

  • Überprüfen Sie den Abschnitt mit den technischen Daten

    – Michele La Ferla

    12. Januar 2018 um 21:39 Uhr

  • Können Sie bitte akzeptieren und positiv abstimmen, wenn dies Ihnen geholfen hat? Vielen Dank 🙂

    – Michele La Ferla

    1. Dezember 2015 um 9:08 Uhr

  • Wir alle wissen, dass Google die Symbolgröße “sperrt”. Aber was ich fragen möchte, ist, ob ich diese Sperre “umgehen” kann, indem ich etwas programmgesteuert mache … Aber ja, eine positive Bewertung für Sie: D

    – Chris Maverick

    4. Dezember 2015 um 3:33 Uhr


  • Sie können versuchen, mit der eigentlichen Layout-XML-Datei für die Navigationsansicht zu spielen, aber andererseits glaube ich, dass Google sie auf eine bestimmte Größe fixiert. Es gäbe also keine Möglichkeit, das zu umgehen.

    – Michele La Ferla

    4. Dezember 2015 um 7:46 Uhr

  • Ich frage mich, wo in dem verlinkten Artikel erwähnt wird, dass die Symbolgröße sein sollte 14sp

    – Alex Sorokoletow

    12. Januar 2018 um 21:06 Uhr

  • Überprüfen Sie den Abschnitt mit den technischen Daten

    – Michele LaFerla

    12. Januar 2018 um 21:39 Uhr

1060340cookie-checkWie ändere ich die Größe des Menüelementsymbols in NavigationView?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy