2017-06-22 212 views
0

我已閱讀了許多關於雙抽屜的帖子,但他們都沒有修復右抽屜切換問題。android雙抽屜:右抽屜切換

的Android雙抽屜佈局:

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 

<!-- content here --> 

<android.support.design.widget.NavigationView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/drawer1" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="left"/> 


<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/drawer2" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="right"/> 

</android.support.v4.widget.DrawerLayout> 

在隨後主activitiy

DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
     this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
drawerLayout.addDrawerListener(toggle); 
toggle.syncState(); 

只有一個左抽屜切換圖標。右側抽屜沒有一個。 ActionBarDrawerToggle不指定哪個抽屜。

+0

當你向右滑動你的右抽屜沒有打開? –

+0

刷卡可以打開右側抽屜。有時最好有一個切換圖標來告訴用戶有一個正確的抽屜。 – eastwater

回答

1

我認爲你可以製作一個工作周圍顯示你的自己的右側抽屜的圖標,把項目放在你的活動菜單中打開右側抽屜。

把這個在您的main_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    > 

    <item 
     android:id="@+id/action_open_right_drawer" 
     android:icon="@mipmap/ic_ab_right_drawer_icon" 
     android:title="rightDrawer" 
     app:showAsAction="always" /> 
</menu> 

,並把這個在您的mainActivity

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.main_menu, menu); 
     return true; 
    } 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    if(item.getItemId() == R.id.action_open_right_drawer) 
     drawerLayout.openDrawer(GravityCompat.END); 

    return super.onOptionsItemSelected(item); 
} 

我敢肯定,這不是我們的最佳解決方案,但它的工作原理罰款

+0

對於習慣在操作欄中查找切換圖標的用戶,打開菜單項並不直觀。可以讓它進入動作欄嗎?謝謝。 – eastwater

+0

其實這個菜單是針對你的動作吧它是充氣物品在動作吧 –

+0

你試過了嗎? –