2016-11-09 111 views
-2

當我使用材料抽屜時,一旦新活動開始,抽屜會自動顯示,但我希望它開始隱藏,所以我必須使用功能drawer.closeDrawer()在該方法的onResume活性,如下所述:材料抽屜在活動開始時自動打開

@Override 
protected void onResume() { 
    super.onResume(); 

    drawer.closeDrawer(); 
} 

這是正確的方法來隱藏所述抽屜時活動開始或重新啓動時,或存在用於此目的的在抽屜中設定的屬性?

謝謝
亞歷山大·比安奇

+0

不是。你的抽屜代碼在哪裏? –

+1

檢查您是否在抽屜初始化時打開抽屜。如果你正在關注開發指南 – Timmo

回答

0

將這個代碼在OnCreate中,它會檢查抽屜是打開或不...如果它的開放,將關閉抽屜

DrawerLayout layout = (DrawerLayout) findViewById(R.id.drawer_layout); 
     if (layout.isDrawerOpen(GravityCompat.START)) { 
      layout.closeDrawer(GravityCompat.START); 
    } 
+0

謝謝HsRaja! –

+0

這與'drawer.closeDrawer();'的問題相同 – mikepenz

0

有不同情況下爲什麼抽屜在應用程序啓動後可能會打開。

要麼你定義withShowDrawerOnFirstLaunch,這應該被刪除或設置爲false,如果你不想要這種行爲。 https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/java/com/mikepenz/materialdrawer/DrawerBuilder.java#L1188

也可能是您通過Drawer的API打開抽屜。所以一定要確保你不叫openDrawer程式設計 https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/java/com/mikepenz/materialdrawer/Drawer.java#L125

Drawer還帶有以close抽屜的方法。請撥打電話closeDrawer https://github.com/mikepenz/MaterialDrawer/blob/develop/library/src/main/java/com/mikepenz/materialdrawer/Drawer.java#L134