2017-10-21 3 views
0

J'ai 2 tiroirs de navigation dans mon application. comment puis-je changer l'icône du tiroir de navigation de droite? tous les liens que j'ai vus parlaient d'un cas de tiroir de navigation et résolus en utilisant ActionBarToggle.comment puis-je changer l'icône de NavigationDrawer côté droit quand j'ai 2 tiroirs de navigation

<?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/activity_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_viewLeft" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     android:choiceMode="singleChoice" 
     android:divider="@android:color/transparent" 
     android:dividerHeight="0dp" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer_left" /> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_viewRight" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="end" 
     android:fitsSystemWindows="true" 
     android:choiceMode="singleChoice" 
     android:divider="@android:color/transparent" 
     android:dividerHeight="0dp" 
     app:menu="@menu/activity_main_drawer_right" /> 


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

dans la mise en page de @/activity_main J'ai une barre d'outils. J'ai aussi du code. barre d'outils = (barre d'outils) findViewById (R.id.toolbar); setSupportActionBar (barre d'outils); drawer = (DrawerLayout) findViewById (R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle ( ce, tiroir, barre d'outils, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.setDrawerListener (bascule); toggle.syncState(); – sandeep

+0

oui. J'ai des options de menu sur les deux tiroirs. mais les pls partagent votre classe. cela pourrait donner une idée à moi ou aux autres. – sandeep

+0

Je ne veux pas d'animation comme le menu hamburger. icône statique est ce que je veux – sandeep

Répondre

2

Vous ne pouvez afficher que l'icône de navigation sur le côté gauche de la barre d'outils. La solution sera Utilisez le menu pour inclure l'icône du panneau de navigation de https://material.io/icons/

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:myapp="http://schemas.android.com/apk/res-auto" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 
<item android:id="@+id/search" android:icon="@drawable/ic_search_white_24dp" 
    android:title="@string/search" 
    app:showAsAction="always" 
    /> 
<item 
    android:id="@+id/btnMyMenu" 
    android:icon="@drawable/ic_menu_white_24dp" 
    android:title="Right Side Menu" 
    myapp:showAsAction="always"/> 
</menu> 

En cliquant sur btnMyMenu tiroir ouvert en conséquence avec

mDrawerLayout.openDrawer(Gravity.RIGHT); 

Ensuite cacher et montrer que le menu en conséquence

+0

vérifiez cette https://play.google.com/store/apps/details?id=com.myntra.android – sandeep

+0

Cette application utilise l'élément de menu. En cliquant sur l'élément de menu, nous ouvrons le tiroir à partir de la droite –

+0

J'avais ci-dessous le menu pour la barre d'action. l'icône de droite venait du fichier ci-dessous. changé d'icône ici et cela a fonctionné.

sandeep