2013-07-24 14 views
7

Come posso impostare ActionBarDrawerToggle nell'angolo destro? perché ho impostato ListView gravitàimposta ActionBarDrawerToggle all'angolo destro

android: layout_gravity = "fine"

quindi voglio ActionBarDrawerToggle di essere a destra, Come posso fare questo ??

questo è il mio codice

getActionBar().setDisplayHomeAsUpEnabled(true); 
     getActionBar().setHomeButtonEnabled(true); 
     mDrawerToggle = new ActionBarDrawerToggle(this,mDrawerLayout,R.drawable.ic_drawer,R.string.drawer_open,R.string.drawer_close) 
     { 
      public void onDrawerClosed(View view) { 
       getActionBar().setTitle(mTitle); 
       invalidateOptionsMenu(); 
      } 
      public void onDrawerOpened(View drawerView) { 
       getActionBar().setTitle(mDrawerTitle); 
       invalidateOptionsMenu(); 
       } 
     }; 

risposta

2

Non posso farlo usando il click sull'icona "casa", e credo che questo non sarebbe stato un bene perché cassetto apparirà nella parte destra. Ma, come @runamok, voglio avere una voce di menu delle opzioni (anziché sostituire l'icona "home" che normalmente esegue la funzionalità "indietro") sul lato destro che fa scattare il cassetto verso la transizione in/out da destra.

Oltre all'utilizzo di android: layout_gravity = "right", utilizzare una voce di menu delle opzioni per eseguire il movimento di apertura/chiusura.

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 

     switch (item.getItemId()) { 
     case R.id.my_menu_item: 
      if(!mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) 
       mDrawerLayout.openDrawer(Gravity.RIGHT); 
      else 
       mDrawerLayout.closeDrawer(Gravity.RIGHT); 

      return true; 

     default: 
      break; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
0

Prova ad aggiungere questa riga ad Android file manifesto:

android:supportsRtl="true" 
2

RISPOSTA

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    switch (item.getItemId()) { 
    case R.id.my_menu_item: 
     if(!mDrawerLayout.isDrawerOpen(GravityCompat.END)) 
      mDrawerLayout.openDrawer(GravityCompat.END); 
     else 
      mDrawerLayout.closeDrawer(GravityCompat.END); 

     return true; 

    default: 
     break; 
    } 

    return super.onOptionsItemSelected(item); 
} 
Problemi correlati