-2

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

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

    drawer.closeDrawer();
}

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

谢谢你,
亚历山大·比安奇

4

2 回答 2

1

应用程序启动后抽屉可能会打开的原因有多种。

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

于 2016-11-10T21:10:04.893 回答
0

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

    DrawerLayout layout = (DrawerLayout) findViewById(R.id.drawer_layout);
         if (layout.isDrawerOpen(GravityCompat.START)) {
             layout.closeDrawer(GravityCompat.START);
    }
于 2016-11-09T13:05:47.727 回答