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的处理

上一篇 Activity 上有 Dialog 的时候按 Home 键时的生命周期
下一篇 Android封装ImageGetter接口
目录
文章列表
1 React Native学习之定时器与手机定位Geolocation API
React Native学习之定时器与手机定位Geolocation API
2
Spring Cloud Gateway 动态路由 - 进阶
Spring Cloud Gateway 动态路由 - 进阶
3
Spring Cloud使用Nacos作为服务配置中心
Spring Cloud使用Nacos作为服务配置中心
4
Spring Boot测试打包部署
Spring Boot测试打包部署
5
阿里注册中心Nacos生产部署方案
阿里注册中心Nacos生产部署方案
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。