【问题标题】:Material Drawer opens automatically as activity starts活动开始时材料抽屉自动打开
【发布时间】:2017-03-23 07:12:22
【问题描述】:

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

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

    drawer.closeDrawer();
}

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

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

【问题讨论】:

  • 不是。你的抽屉密码在哪里?
  • 检查您在初始化抽屉时没有打开抽屉。如果您遵循开发指南,这很可能

标签: android materialdrawer


【解决方案1】:

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

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

【讨论】:

  • 这与问题中提到的drawer.closeDrawer(); 相同
【解决方案2】:

在应用程序启动后抽屉可能会打开的不同情况。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    相关资源
    最近更新 更多