android - 关闭没有动画的抽屉导航

标签 android android-layout navigation-drawer

在我立即完成某些 Activity 后,我试图关闭我的抽屉导航,没有滑动动画。我不会在 Activity 开始时关闭它,因为我希望它在用户退出 Activity 时保持打开状态。但是,当它自行关闭时,我无法在没有短暂闪烁动画的情况下关闭它。我尝试了以下代码的变体:

protected void closeDrawerImmediate() {
    mDrawerLayout.setVisibility(View.GONE);
    mDrawerLayout.closeDrawers();
    mDrawerLayout.setX(0);
    mDrawerLayout.setVisibility(View.VISIBLE);
}

最佳答案

您可以使用支持库 v24 中新的 DrawerLayout.closeDrawer(int/View, bool) 方法立即关闭抽屉:

drawerLayout.closeDrawer(Gravity.LEFT, false);

如果您只想立即关闭抽屉,例如当您通过点击抽屉项目启动 Activity 时,这可能就足够了。

如果你想在返回 Activity 时关闭抽屉,我会设置一个有状态的 bool 值,如 closeDrawerOnResume = true 在适当的地方(例如开始一个新的 Activity ),然后在onResume 检查此 bool 值,如果为真则关闭抽屉而不设置动​​画。

关于android - 关闭没有动画的抽屉导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30130537/

相关文章:

android - 如何重命名项目 react native

Android 平滑滚动到底部

android - 如何区分16 :9 display from a 18:9 one?

android - 获取空的 RecyclerView

android - 在抽屉导航中动态添加项目

具有透明元素的Android View 背景颜色

android - 在新的 whatsapp ver 2.11.399 (android) 上为图像添加标题

android - 来自不同计算机的 Android 设备之间的通信

android - Android 中的多列文本显示

java - 如何更新不显示 fragment