关闭导航抽屉箭头动画

5
我已经实现了与父级高度相匹配的导航抽屉。现在,我认为在点击汉堡包抽屉按钮后显示的返回箭头按钮实际上是必要的,因为一旦显示,我的导航抽屉也会超出工具栏,所以我无法单击它。

enter image description here

我不想要那个按钮动画,那么我怎样才能让汉堡抽屉按钮保持不变,而不是转化为返回箭头?我需要代码和解释。谢谢!
NavigationView
<android.support.design.widget.NavigationView
        android:id="@+id/navigation"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:menu="@menu/navigation_menu"/>

主活动

@Override
protected void onCreate(Bundle savedInstanceState) {
        ...

        // Drawer
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.activity_main);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, R.string.navigation_open, R.string.navigation_close);
        drawer.addDrawerListener(toggle);
        toggle.syncState();
}

嘿,我有与我的DrawerLayout相同的设置,但无法将汉堡按钮旋转为箭头。有什么想法或建议,如何解决这个问题?谢谢! - Mark Delphi
2个回答

4
在Google IO 2017上,引入了这个API,它可以从支持库版本25.3.0中获得。

    // 安装抽屉切换按钮
    drawerToggle = new ActionBarDrawerToggle(this, drawerLayout,
                         R.string.drawer_open, R.string.drawer_close);
// 禁用动画 drawerToggle.setDrawerSlideAnimationEnabled(false);
这将使抽屉箭头不再有动画效果。
请查看视频的确切分钟:查看视频enter image description here

1
谢谢!我在 Google IO 视频中看到了这个,但是我找不到它的 API 或者他们谈论它的视频哈哈。 - Kaizie

0
在您的布局中,有抽屉式布局,其上方应该有一个android.support.v7.widget.Toolbar,工具栏内部放置一个ImageView,在左侧点击该ImageView时检查抽屉是否打开,然后关闭它,反之亦然。
像这样:
            if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
              drawerLayout.closeDrawer(GravityCompat.START);
            } else {
                drawerLayout.openDrawer(GravityCompat.START);
            }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接