Wie kann ich die Trennfarbe in NavigationView ändern?

Lesezeit: 6 Minuten

Wie kann ich die Trennfarbe in NavigationView andern
Seite nicht gefunden

Ich versuche, NavigationView zu verwenden, um NavigationDrawer zu implementieren. Ich habe das Trennzeichen hinzugefügt, indem ich die Gruppen-ID im Menü eingestellt habe. Allerdings kann ich die Trennzeichen nicht sehen. Ich denke, das liegt daran, dass die Farbe des Trennzeichens dieselbe ist wie der Hintergrund. Also möchte ich die Trennfarbe ändern. Aber ich finde keine Möglichkeit, es zu ändern. Kann mir jemand helfen?

Im Screenshot scheint es einen Platz für ein Trennzeichen zu geben History und Settings, aber man sieht es nicht.

Geben Sie hier die Bildbeschreibung ein

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:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:fitsSystemWindows="true"
    tools:context=".ui.MapActivity">

    <LinearLayout
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

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

        <!--main content-->
    </LinearLayout>

    <android.support.design.widget.NavigationView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/navdrawer_background"
        app:insetForeground="#4000"
        app:itemTextColor="@color/navdrawer_item_text_color"
        app:itemIconTint="@color/navdrawer_item_icon_tint"
        app:headerLayout="@layout/drawer_header"
        app:menu="@menu/drawer"/>
</android.support.v4.widget.DrawerLayout>

Fach.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:id="@+id/group_feature"
        android:checkableBehavior="single">
        <item android:id="@+id/navdrawer_item_map"
            android:checked="true"
            android:icon="@drawable/ic_drawer_map"
            android:title="@string/navdrawer_item_map"/>
        <item android:id="@+id/navdrawer_item_favourite"
            android:icon="@drawable/ic_drawer_fav"
            android:title="@string/navdrawer_item_fav"/>
        <item android:id="@+id/navdrawer_item_history"
            android:icon="@drawable/ic_drawer_history"
            android:title="@string/navdrawer_item_history"/>
    </group>
    <group android:id="@+id/group_settings"
        android:checkableBehavior="single">
        <item android:id="@+id/navdrawer_item_settings"
            android:icon="@drawable/ic_drawer_settings"
            android:title="@string/navdrawer_item_settings"/>
        <item android:id="@+id/navdrawer_item_help"
            android:icon="@drawable/ic_drawer_help"
            android:title="@string/navdrawer_item_help"/>
        <item android:id="@+id/navdrawer_item_about"
            android:icon="@drawable/ic_drawer_about"
            android:title="@string/navdrawer_item_about"/>
    </group>
</menu>

Wie kann ich die Trennfarbe in NavigationView andern
Moinkhan

Wenden Sie einfach die folgende Zeile auf style.xml an

<item name="android:listDivider">your_color</item>

Das Folgende ist nur eine Information für Ihr Wissen …
Wenn Sie die Designunterstützungsbibliothek gesehen haben, verwenden sie das folgende Layout für das NavigationView-Trennzeichen.

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="match_parent"
             android:layout_height="wrap_content">

    <View android:layout_width="match_parent"
          android:layout_height="1dp"
          android:background="?android:attr/listDivider"/>

</FrameLayout>

hier sieht man android:background=”?android:attr/listDivider” .. Also viel Spaß … und hier ist meine Ausgabe, dass ich die Farbe zu holo_blue ändere
Geben Sie hier die Bildbeschreibung ein

  • Irgendeine Möglichkeit, es programmatisch zu tun?

    – ElYeante

    9. September 15 um 13:06 Uhr

  • @ElYeante Nein, leider gibt es keine Möglichkeit, dies programmgesteuert zu tun … möglicherweise wird es in einer zukünftigen Bibliothek kommen.

    – Moinkhan

    10. September 15 um 9:15 Uhr


  • wo die folgende Zeile angewendet werden soll your_color

    – adhi

    2. März 16 um 6:31 Uhr


  • zu Ihrem Hauptstil für zB. Im Apptheme

    – Madhur

    2. März 16 um 6:33 Uhr

  • das ist eine schlechte lösung. Wenn Sie es nur für die Navigationsansicht einstellen möchten, funktioniert es überhaupt nicht, wenn Sie es für die Aktivität einstellen – es funktioniert, aber es ändert die Trennfarbe in der gesamten Aktivität für jede Ihrer Listen.

    – qkx

    11. März 19 um 12:27 Uhr


Hier ist der beste und einfachste Weg, während Sie das Menü als Ansicht verwenden

<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:fitsSystemWindows="true"
    android:theme="@style/ThemeToolbar.NavigationView"
    app:itemTextColor="@color/white"
    app:itemIconTint="@color/white"
    app:headerLayout="@layout/activity_home_nav_header"
    app:menu="@menu/activity_home_drawer" />

ThemeToolbar.NavigatinoView

 <style name="ThemeToolbar.NavigationView" >
    <item name="android:listDivider">@color/white</item>
    <item name="android:textColorSecondary">@color/white</item>
</style>

Geben Sie hier die Bildbeschreibung ein

  • Was ist die ThemeToolbar.?

    – valerybodak

    23. August 16 um 12:11 Uhr

  • Es ist ein beliebiger Name des App-Designs. Hier wird es nur der zugehörigen NavigationView mit ThemeToolbar hinzugefügt, also als ThemeToolbar.NavigationView geschrieben. NavigationView kann als sich selbst geschrieben werden.

    – turbandoid

    23. August 16 um 18:50 Uhr

  • Wo ich Stil hinzugefügt habe, habe ich dasselbe getan und verwendet, kann aber keinen Teiler setzen. Können Sie mir bitte @O’one vorschlagen?

    – Mhanaz Syed

    8. Januar 18 um 7:52 Uhr

  • Fügen Sie einfach den Stil in Ihrer Wertedatei, styles.xml, hinzu, wenn dies der Name ist, den Sie @MhanazSyed gegeben haben, oder Sie können Ihren Code teilen, wenn Sie dabei noch helfen

    – turbandoid

    8. Januar 18 um 12:11 Uhr


  • Benötigen Sie hierzu Hilfe @qkx

    – turbandoid

    13. März 19 um 14:35 Uhr

1642810985 604 Wie kann ich die Trennfarbe in NavigationView andern
mabc21

Erstellen Sie einen Stil in Ihrer styles.xml. Geben Sie Ihre bevorzugte Farbe in den android:listDivider ein

<style name="NavigationView"  parent="Base.Theme.AppCompat">
    <item name="android:listDivider">@color/text_lightgray</item>
</style>

Verweisen Sie auf den Stil als Thema Ihrer Navigationsansicht:

   <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:fitsSystemWindows="false"
    android:theme="@style/NavigationView"
    app:headerLayout="@layout/nav_header"
    app:menu="@menu/drawer_view"
    app:itemTextColor="@color/text_white"/>

Stellen Sie schließlich sicher, dass die Gruppen in Ihrem Menü eindeutige IDs haben. Wenn Ihre Gruppen das id-Attribut nicht haben, funktioniert dies nicht!

<group android:checkableBehavior="single"
    android:id="@+id/group1">
    <item
        android:id="@+id/item1"
        android:title="@string/item1" />
</group>
<group android:checkableBehavior="single"
    android:id="@+id/group2">

    <item
        android:id="@+id/item2"
        android:title="@string/item2" />

</group>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColorPrimary">@color/menu_text_color</item>
    <item name="android:textColorSecondary">@color/menu_text_color</item>
</style>

textColorPrimary ändert die Farbe der Kopfzeile.

1642810986 586 Wie kann ich die Trennfarbe in NavigationView andern
Georg Freire

Perfekte Antwort:

Geben Sie hier die Bildbeschreibung ein

<android.support.design.widget.NavigationView
    android:id="@+id/activity_principal_nav_view"
    android:layout_width="@dimen/size_230"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@color/black"
    android:fitsSystemWindows="true"
    app:insetForeground="@color/white"
    app:menu="@menu/settings_menu"
    app:itemTextColor="@color/white"
    app:itemIconTint="@color/white"
    app:headerLayout="@layout/settings_menu_header"
    android:theme="@style/NavigationDrawerStyle"/>

.

582810cookie-checkWie kann ich die Trennfarbe in NavigationView ändern?

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

Privacy policy