使用v7库时更改ActionBarDrawer切换图标

我想使用自定义图像代替用于在android中切换导航抽屉的默认图标。 我该怎么办? 这是我想要改变的图像。 在此处输入图像描述

使用下面的代码设置自定义ActionBar切换按钮。

mDrawerToggle.setDrawerIndicatorEnabled(false); // mDrawerToggle.setHomeAsUpIndicator(R.drawable.menu_icon); mToolbar.setNavigationIcon(R.drawable.menu_icon); mToolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mDrawerLayout.openDrawer(Gravity.LEFT); } }); 

你可以用style.xml改变

   

@Arya使用styles.xml给出了一个很好的例子:

  

您也可以通过编程方式执行此操作:

 public void setTitle(String title, int homeAsUpIndicator) { if (getSupportActionBar() != null) { getSupportActionBar().setTitle(title); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeAsUpIndicator(homeAsUpIndicator); } } 

然后在onCreate()方法中,您可以使用up指示符ican作为资源来调用setTitle方法。

注意:这是使用支持操作栏和新工具栏。

要更改导航菜单的图标,您需要在ActionBarDrawerToggle对象中定义您的图像,如下所示:mDrawerToggle = new ActionBarDrawerToggle(this,mDrawerLayout,YOUR IMAGE_SOURCE HERE,R.string.drawer_open,R.string.drawer_close)

如果您发现任何困难,那么您可以发表评论。

我使用自定义操作栏并自行处理后退操作。 我认为,这是最好的方式。 PFB xml: