2013-07-24 84 views
7

如何設置ActionBarDrawerToggle在右上角?因爲我設置的ListView重力設置ActionBarDrawerToggle在右上角

機器人:layout_gravity =「結束」

,所以我想ActionBarDrawerToggle是在正確的,我怎麼能做到這一點?

這是我的代碼

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

回答

2

使用的「家」的圖標,點擊我不能做到這一點,我想這不會是一件好事,因爲抽屜裏會出現在右側。但是,作爲@runamok,我希望在右側有一個選項菜單項(而不是替換通常執行「返回」功能的「主頁」圖標),從而觸發抽屜從右側進入/退出。

除了使用android:layout_gravity =「right」,使用選項菜單項來執行打開/關閉移動。

@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

嘗試加入這一行到Android清單文件:

android:supportsRtl="true" 
2

ANSWER

@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); 
} 
相關問題