Material 抽屉在 activity 启动时自动打开

Material Drawer opens automatically as activity starts

当我使用 Material 抽屉时,一旦新的 activity 启动,抽屉就会自动显示,但我希望它开始隐藏,所以我必须使用函数 drawer.closeDrawer()在activity的方法onResume中,如下所述:

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

    drawer.closeDrawer();
}

这是在 activity 启动或重新启动时隐藏抽屉的正确方法,还是在抽屉中为此设置了 属性?

谢谢,
亚历山大·比安奇

将此代码放在 oncreate 中,它将检查抽屉是否打开...如果它打开,它将关闭抽屉

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

应用启动后抽屉打开的情况有多种。

您可以定义 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