抽屉图标没有响应点击
Drawer icon not responding to click
我有一个 DrawerToggle,用于显示 DrawerLayout。我是这样做的:
mDrawerLayout = findViewById(R.id.drawer_layout);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,0, 0) {
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
invalidateOptionsMenu();
}
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
invalidateOptionsMenu();
}
};
mDrawerToggle.setDrawerIndicatorEnabled(false);
Drawable drawable= ResourcesCompat.getDrawable(getResources(),R.drawable.menu,getTheme());
mDrawerToggle.setHomeAsUpIndicator(drawable);
mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("David", "onClick");
if (mDrawerLayout.isDrawerVisible(GravityCompat.START)) {
mDrawerLayout.closeDrawer(GravityCompat.START);
} else {
mDrawerLayout.openDrawer(GravityCompat.START);
}
}
});
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
但是单击图标时我没有收到响应。我该如何解决?
您还没有添加打开抽屉的代码。在您的 Activity Class:
中添加以下代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
drawerLayout.openDrawer(GravityCompat.START);
return true;
}
return super.onOptionsItemSelected(item);
}
关注:https://developer.android.com/training/implementing-navigation/nav-drawer
我有一个 DrawerToggle,用于显示 DrawerLayout。我是这样做的:
mDrawerLayout = findViewById(R.id.drawer_layout);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,0, 0) {
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
invalidateOptionsMenu();
}
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
invalidateOptionsMenu();
}
};
mDrawerToggle.setDrawerIndicatorEnabled(false);
Drawable drawable= ResourcesCompat.getDrawable(getResources(),R.drawable.menu,getTheme());
mDrawerToggle.setHomeAsUpIndicator(drawable);
mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("David", "onClick");
if (mDrawerLayout.isDrawerVisible(GravityCompat.START)) {
mDrawerLayout.closeDrawer(GravityCompat.START);
} else {
mDrawerLayout.openDrawer(GravityCompat.START);
}
}
});
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
但是单击图标时我没有收到响应。我该如何解决?
您还没有添加打开抽屉的代码。在您的 Activity Class:
中添加以下代码@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
drawerLayout.openDrawer(GravityCompat.START);
return true;
}
return super.onOptionsItemSelected(item);
}
关注:https://developer.android.com/training/implementing-navigation/nav-drawer