以下是一些可能的解决方法。
在使用NavigationView和Toolbar时,务必正确设置这些视图的id。
在Toolbar上使用重绘可能会导致导航回退按钮无法正常工作。
禁用图标/背景重绘可以通过以下方式实现:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
通过重写onBackPressed方法来处理导航回退按钮的行为。
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}