【问题标题】:ActionBarDrawerToggle does not open drawer until first slideActionBarDrawerToggle 在第一张幻灯片之前不会打开抽屉
【发布时间】:2017-02-21 05:35:03
【问题描述】:

我正在使用 Google 设计支持库和 DrawerLayout。

设置:

final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
NavigationView drawer = (NavigationView) findViewById(R.id.drawer);
if(mDrawerToggle == null) {
    mDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, mToolbar, R.string.open, R.string.feather_close);
    drawerLayout.addDrawerListener(mDrawerToggle);
    mDrawerToggle.syncState();
}

当我启动我的应用程序时,会显示汉堡图标的涟漪效果,但抽屉没有打开。当我从左侧滑动至少一次打开抽屉时,汉堡图标在整个运行时都有效。 我在切换按钮或抽屉本身上没有特殊的侦听器,并且未调用 onOptionsItemSelected 方法。

请帮我看看会发生什么。

谢谢。

【问题讨论】:

    标签: android drawerlayout


    【解决方案1】:

    我找到了:我的 NavigationView 中不小心出现了 android:visibility="gone"。 多么奇怪的副作用。

    【讨论】:

      【解决方案2】:

      我用它解决了它:

          DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
          ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                  this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
          drawer.setDrawerListener(toggle);
          toggle.syncState();
      
          NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
          navigationView.setNavigationItemSelectedListener(this);
      

      【讨论】:

      • 这正是我所做的... + setDrawerListener 已弃用
      • 您使用的是什么版本的 DrawerLayout?我正在使用 v4。导入 android.support.v4.widget.DrawerLayout;
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-24
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      • 2021-01-17
      • 2013-04-29
      相关资源
      最近更新 更多