2016-06-27 11 views
5

Ho un cassetto di navigazione che si apre da destra a sinistra, tutto funziona correttamente e l'icona dell'hamburger funziona correttamente ed è nell'angolo destro ma le icone dei menu sono a sinistra di voci del menu.Visualizza le icone del menu del cassetto a destra delle voci di menu

Come spostarli a destra delle voci di menu?

Si prega di vedere lo schermo girato

enter image description here

Questo è il mio menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <group android:checkableBehavior="none"> 
     <item 
      android:id="@+id/nav_home" 
      android:icon="@drawable/ic_navigation_home" 
      android:title="@string/nav_menu_home" /> 
     <item 
      android:id="@+id/nav_profile" 
      android:icon="@drawable/ic_menu_profile" 
      android:title="@string/nav_profile" /> 
     <item 
      android:id="@+id/nav_help" 
      android:icon="@drawable/ic_navigation_help" 
      android:title="@string/nav_help" /> 
     <item 
      android:id="@+id/nav_manage" 
      android:icon="@drawable/ic_menu_manage" 
      android:title="@string/nav_manage" /> 
     <item 
      android:id="@+id/nav_logout" 
      android:icon="@drawable/ic_logout" 
      android:title="@string/nav_logout" /> 
    </group> 
    <item android:title="@string/nav_communicate"> 
     <menu> 
      <item 
       android:id="@+id/nav_facebook" 
       android:icon="@drawable/ic_facebookx" 
       android:title="@string/nav_face_page" /> 
      <item 
       android:id="@+id/nav_send" 
       android:icon="@drawable/ic_menu_send" 
       android:title="@string/nav_contact" /> 
     </menu> 
    </item> 
</menu> 

e questo è il mio layout

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 
<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 
</android.support.design.widget.AppBarLayout> 
<android.support.v4.widget.DrawerLayout 
    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:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" /> 
</android.support.v4.widget.DrawerLayout> 
</LinearLayout> 

ho cercato molto, ma didn' t trovare qualcosa relativo a questo problema.

Grazie in anticipo.

+0

È necessario aggiungere il frammento e provare a fare il riclyerview –

+0

@WaqarYounis Grazie per il suggerimento :) – Mohammad

risposta

3

Se si desidera utilizzare NavigationView per gestire DrawerLayout l'unico modo che esiste (al momento) è che per rendere il vostro NavigationView destra a sinistra dal seguente codice:

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) //call this before super.onCreate 
private void forceRtlIfSupported() { 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { 
     getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); 
    } 
} 

e impostare RTL bandiera AndroidManifiest.xml

android:supportsRtl="true" 

purtroppo in questo modo supportato solo per API e successive. Ma puoi anche implementare DrawerLayout con ListView e poi puoi fare quello che vuoi. puoi trovare un tutorial su questo approccio here.

+1

Grazie mille. Farò un tentativo e tornare da te :) – Mohammad

Problemi correlati