[英]Unable to Implement a Navigation Drawer on the Right Side of The Screen - Android / Java
我已經實現了Navigation Drawer,它當前顯示在屏幕的左側-但是我希望它顯示在屏幕的右側(圖標也位於屏幕的右上角-目前位於左上方)。 我找到了以下SO文章,該文章解釋了如何操作:
http://stackoverflow.com/questions/18547277/how-to-set-navigation-drawer-to-be-opened-from-right-to-left/19358114#19358114
但是,當我嘗試實現代碼時,導航抽屜仍會出現在左側。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ss_home);
...
mDrawerList = (ListView) findViewById(R.id.drawer_list);
mDrawer = ( LinearLayout) findViewById(R.id.drawer);
mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
mAdapter = new SimpleAdapter(this, mList, R.layout.drawer_layout, from, to);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.icon_list_top_right , R.string.drawer_open){
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item != null && item.getItemId() == android.R.id.home) {
if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) {
mDrawerLayout.closeDrawer(Gravity.RIGHT);
} else {
mDrawerLayout.openDrawer(Gravity.RIGHT);
}
}
return false;
}
如果有任何其他必要的信息,我將非常樂意提供(我只是為為什么導航欄未出現在屏幕右側而感到困惑)
LinearLayout
id =“ drawer android:layout_gravity="start"
上的android:layout_gravity="start"
應該設置為android:layout_gravity="end"
。
旁注:此XML結構的構造不正確,為什么ViewGroups
的id =“ drawer”和id =“ left_drawer”的兄弟姐妹-不嵌套? 為什么FrameLayout
id =“ content_frame”為空?
實際上,您的布局中有左右導航抽屜(id:抽屜,id:left_drawer)。 我剛剛對其進行了測試,並且它們在左右滑動時均能很好地加載。
如果要在右側顯示漢堡圖標,請隱藏現有圖標,然后將另一個圖標作為圖像視圖添加到工具欄。 之后,您可以單擊綁定並以編程方式打開導航抽屜。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.