我在完成某些活动后立即尝试关闭导航抽屉,没有滑动动画。我不会在活动开始时关闭它,因为如果用户退出活动,我希望它保持打开状态。但是,如果没有一个简短的闪烁动画,我无法让它关闭,因为它关闭了自己。我尝试过以下代码的变体:
protected void closeDrawerImmediate() {
mDrawerLayout.setVisibility(View.GONE);
mDrawerLayout.closeDrawers();
mDrawerLayout.setX(0);
mDrawerLayout.setVisibility(View.VISIBLE);
}
答案 0 :(得分:3)
您可以使用支持库v24中的新DrawerLayout.closeDrawer(int/View, bool)
方法立即关闭抽屉:
drawerLayout.closeDrawer(Gravity.LEFT, false);
如果您只是想立即关闭抽屉,例如当您通过点击抽屉项目启动活动时,这可能就足够了。
如果你想在回到活动时关闭抽屉,我会在适当的地方设置一个像closeDrawerOnResume = true
这样的有状态布尔值(例如,开始一个新的活动),然后在{{1检查此布尔值并关闭抽屉而不设置动画,如果它是真的。
答案 1 :(得分:0)