Toolbar中系统自带返回键(setDisplayHomeAsUpEnabled)与Toolbar本身的inflateMenu冲突问题

  在APP的Toolbar中可以设置inflateMenu来添加右上角菜单栏,但是我又同时想用系统自带的左侧返回键,随之也产生了问题:右上角的inflateMenu会不生效,即不会产生菜单按钮,查阅资料得到以下解决方案:

If you are calling setSupportActionBar() 
you don’t need to use toolbar.inflateMenu()
 because the Toolbar is acting as your ActionBar. 
All menu related callbacks are via the default ones. 
The only time you need to call toolbar.inflateMenu() is when you are using the Toolbar as a standalone widget.

也就是在使用inflateMenu的时候不使用

setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

但是这两行代码又是用来添加系统自带的返回键,所以这样的话就没办法同时使用了,但是以为调整以下代码顺序会管用,但事实不行,最后只能使用另一种方法添加返回按键:

setNavigationIcon

这个是toolbar添加左上角一个小图标

用这个方法就可以避免相互矛盾的问题了,不过应该没有人像我一样傻,非要一个用toolbar的,一个用系统自带的吧。。。。。。。。



原文地址:https://www.cnblogs.com/heiyang/p/10993183.html