材料抽屉在活动开始时自动打开

问题描述:

当我使用材料抽屉时,一旦新活动开始,抽屉会自动显示,但我希望它开始隐藏,所以我必须使用功能drawer.closeDrawer()在该方法的onResume活性,如下所述:材料抽屉在活动开始时自动打开

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

    drawer.closeDrawer(); 
} 

这是正确的方法来隐藏所述抽屉时活动开始或重新启动时,或存在用于此目的的在抽屉中设定的属性?

谢谢
亚历山大·比安奇

+0

不是。你的抽屉代码在哪里? –

+1

检查您是否在抽屉初始化时打开抽屉。如果你正在关注开发指南 – Timmo

将这个代码在OnCreate中,它会检查抽屉是打开或不...如果它的开放,将关闭抽屉

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

谢谢HsRaja! –

+0

这与'drawer.closeDrawer();'的问题相同 – mikepenz

有不同情况下为什么抽屉在应用程序启动后可能会打开。

要么你定义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