Android optionsMenu,菜单的使用

Android3.0 之前一直使用menu 弹出菜单,optionsMenu的使用方式跟context菜单的使用方式类似,
①创建 系统菜单 onCreateOptionsMenu(Menu menu)

@Override
public boolean onCreateOptionsMenu(Menu menu) {
setIconEnable(menu,true);//让菜单项的图标可见

    //根据菜单项的xml文件创建菜单项对象,并把菜单项对象加入到菜单对象中
    //参数menu接收的是菜单对象,菜单对象由系统创建 
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

② 为菜单添加监听 onOptionsItemListener

//给系统菜单添加点击菜单项时的事件监听
//参数item接收的是被点击的菜单项对象
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    //获取被点击的菜单项的id 
    int id = item.getItemId();
    switch(id)
    {
    case R.id.action_settings:
        //显示系统设置界面
        startActivity(new Intent(Settings.ACTION_SETTINGS));
        break;
    case R.id.action_bigFont:
        //增大textView的字体
        fontSize+=5;
        textView.setTextSize(fontSize);
        break;
    case R.id.action_smallFont:
        //缩小textView的字体
        fontSize-=5;
        textView.setTextSize(fontSize);
        break;
    }
    return super.onOptionsItemSelected(item);
}

③ 解决不显示图标问题 通过反射机制
//为系统菜单项添加图标
//enable为true时,菜单添加图标有效,enable为false时无效。4.0+系统默认无效
private void setIconEnable(Menu menu, boolean enable)
{
try
{
//MenuBuilder.class
Class

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值