Android开发:menu(菜单)

本文介绍了Android应用中如何实现菜单栏,包括菜单栏界面的编写,菜单项点击事件处理,以及如何自定义菜单样式。此外,还讲解了上下文菜单的实现,包括给View注册上下文菜单的方法。
摘要由CSDN通过智能技术生成

在Activity类中实现 :

1、菜单栏界面的编写,当点击菜单按钮会调用此方法:

@Override //实现这个方法之后,菜单就会自动出现,无需另外编写菜单的界面和样式。
public boolean onCreateOptionsMenu(Menu menu){
    menu.add("打开");
    menu.add("批注");
    menu.add("退出");
    menu.addSubMenu("...");//子菜单
    return super.onCreateOptionsMenu(menu);
}

 2、点击菜单子项的时候会调用以下方法:

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        String menuItem=(String)item.getTitle();
        if(menuItem=="打开"){
            performFileSearch();//这是自己定义的一个方法
        }else if(menuItem=="退出"){
            onDestroy();//退出app
        }
        return super.onOptionsItemSelected(item);
    }

这是菜单栏中的小项的点击功能的编写。类似一个监听器。

3、如果对菜单的界面样式不满意,可以自己定义一个,首先要自己新建一个res/menu/menu.xml文件,然后
在上面所说的那个创建菜单的方法onCreateOptionsMenu中加入这一句:

           super.getMenuInflater().inflate(R.menu.menu, menu);

        
二、上下文菜单:

上下文菜单就是长按界面上某个view元素弹出的菜单,实现方法如下:

1、在Activity类中实现以下方法:

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    menu.add("放大");
    super.onCreateContextMenu(menu, v, menuInfo);
}

@Override
public boolean onContextItemSelected(MenuItem item) {
    if(item.getTitle()=="放大"){
        recyclerView.setScaleX(2);
        recyclerView.setScaleY(2);
    }
    return super.onContextItemSelected(item);
}

2、在onCreate方法中,给要实现长按弹出菜单的view注册上下文菜单,即添加以下代码:

registerForContextMenu(zoomBack);//给zoomBack按钮注册上下文菜单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值