当我使用Material Drawer时,一旦新活动开始,抽屉就会自动显示,但我希望它开始隐藏,所以我必须使用函数 drawer.closeDrawer()活动的方法 onResume ,如下所述:
@Override
protected void onResume() {
super.onResume();
drawer.closeDrawer();
}
这是在活动开始或重新启动时隐藏抽屉的正确方法,还是在抽屉中为此目的设置了属性?
谢谢你,
Alexandre Bianchi
答案 0 :(得分:0)
将此代码放入oncreate中,它会检查抽屉是否打开......如果它打开它会关闭抽屉
DrawerLayout layout = (DrawerLayout) findViewById(R.id.drawer_layout);
if (layout.isDrawerOpen(GravityCompat.START)) {
layout.closeDrawer(GravityCompat.START);
}
答案 1 :(得分: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