2013-07-24 40 views
7

Làm cách nào tôi có thể đặt ActionBarDrawerToggle ở ​​góc bên phải? vì tôi đặt listview trọng lựcđặt ActionBarDrawerTìm kiếm ở góc bên phải

android: layout_gravity = "kết thúc"

vì vậy tôi muốn ActionBarDrawerToggle để được ở bên phải, Làm thế nào tôi có thể làm điều đó không ??

đây là mã của tôi

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

Trả lời

2

tôi không thể làm điều này bằng cách sử dụng nhấp chuột vào biểu tượng "nhà", và tôi nghĩ rằng điều này sẽ không được tốt vì ngăn kéo sẽ xuất hiện ở phía bên phải. Nhưng, như @runamok, tôi muốn có một mục trình đơn tùy chọn (thay vì thay thế biểu tượng "nhà" thường thực hiện chức năng "quay lại") ở bên phải, điều này làm cho ngăn kéo chuyển đổi vào/ra từ bên phải.

Ngoài việc sử dụng android: layout_gravity = "right", hãy sử dụng mục menu tùy chọn để thực hiện chuyển động mở/đóng.

@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

Hãy thử thêm dòng này để android file manifest:

android:supportsRtl="true" 
2

ĐÁP

@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); 
} 
Các vấn đề liên quan