Android ToolBar inflateMenu 不生效

ToolBar inflateMenu 不生效

by seaicelin
转载请注明出处:http://blog.csdn.net/amd123456789/article/details/52474984

在使用ToolBar的时候,发现调用

Toolbar.inflateMenu(R.menu.toolbar_menu);

一直显示不出ToolBar右上角的图标。其中menu文件如下:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".ContentActivity">
<item
    android:id="@+id/action_login"
    android:icon="@mipmap/ic_drawer_am"
    android:title="Login"
    app:showAsAction="always" />
<item
    android:id="@+id/action_settiong"
    android:orderInCategory="100"
    android:title="action_settings"
    app:showAsAction="never" />
<item
    android:id="@+id/action_night"
    android:orderInCategory="100"
    android:title="Night"
    app:showAsAction="never"></item>
</menu>

然而,发现不调用ToolBar本身的接口,调用Activity本身创建menu的接口却可以显示!!

//设置ToolBar的选项
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    //MenuInflater inflater = getMenuInflater();
    //inflater.inflate(R.menu.toolbar_menu, menu);
    return super.onCreateOptionsMenu(menu);
}

这个问题纠结,查了很久!总算找到答案了:

http://stackoverflow.com/questions/26511981/toolbar-inflatemenu-seems-to-do-nothing

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.

意思就是说,要想让Toolbar本身的inflateMenu生效,则必须删去这两句代码!!!

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

This is the answer!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值