2013-07-24 15 views
7

Jak ustawić ActionBarDrawerToggle w prawym rogu? bo ustawiony listview grawitacjęzestaw ActionBarDrawerToggle na prawym rogu

android: layout_gravity = "end"

więc chcę ActionBarDrawerToggle się po prawej stronie, jak mogę to zrobić ??

to jest mój kod

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(); 
       } 
     }; 

Odpowiedz

2

Nie mogę tego zrobić za pomocą kliknięcia na ikonę „domu” i myślę, że nie byłoby to dobre, bo szuflada pojawi się po prawej stronie. Ale, jako @runamok, chcę mieć element menu opcji (w przeciwieństwie do zastępowania ikony "domu", która normalnie wykonuje funkcję "wstecz") po prawej stronie, co powoduje, że szuflada przechodzi do wejścia/wyjścia z prawej strony.

Oprócz używania Androida: layout_gravity = "right", użyj opcji menu opcji, aby wykonać ruch otwierania/zamykania.

@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

spróbuj dodać tę linię do Android plik manifestu:

android:supportsRtl="true" 
2

ODPOWIEDŹ

@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); 
} 
Powiązane problemy