我正在使用Google Design Support Library和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方法。
请帮我看看会发生什么。
谢谢。
答案 0 :(得分:8)
我发现了:我在NavigationView中意外地遇到了android:visibility="gone"
。
多么怪异的副作用。
答案 1 :(得分:-1)
我用它解决了它:
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);