Android Toolbar自定义菜单

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.inflateMenu(R.menu.menu_main);  //加载菜单资源
toolbar.setOnMenuItemClickListener(listener);  //菜单的点击事件

private Toolbar.OnMenuItemClickListener listener = new Toolbar.OnMenuItemClickListener() {
    @Override
    public boolean onMenuItemClick(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.action_settings:
                startActivity(new Intent(MainActivity.this, NotCarouselActivity.class));
                break;
        }
        return false;
    }
};

菜单资源文件:/res/menu/menu_main.mxl

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    >
    <item android:id="@+id/action_edit"
        android:title="编辑"
        android:orderInCategory="80"
        android:icon="@mipmap/ab_edit"
        app:showAsAction="ifRoom" />

    <item android:id="@+id/action_share"
        android:title="分享"
        android:orderInCategory="90"
        android:icon="@mipmap/ab_share"
        app:showAsAction="ifRoom" />

    <item android:id="@+id/action_settings"
        android:title="非循环轮播"
        android:orderInCategory="100"
        app:showAsAction="never"/>
</menu>

注意不需要使用setSupportActionBar(toolBar),否则菜单不会显示

使用setOnMenuItemClickListener处理菜单点击事件会覆盖onOptionsItemSelected的处理

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/26/android-toolbar-custom-menu-2/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Android Toolbar自定义菜单
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.inflateMenu(R.menu.menu_main); //加载菜单资源 toolbar.setOnMenuItemClickListener(li……
<<上一篇
下一篇>>
文章目录
关闭
目 录