android普通菜单和上下文菜单

来源:互联网 发布:出川哲朗 知乎 编辑:程序博客网 时间:2024/05/21 09:17
package com.action;


import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends Activity {
private TextView tvname;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        tvname=(TextView) findViewById(R.id.main_tvname);
        //给控件注册上下文关系菜单
        registerForContextMenu(tvname);
    }
    
    /***
     * 上下文关系菜单
     * */
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
    ContextMenuInfo menuInfo) {
    menu.setHeaderTitle("文件");
    menu.setHeaderIcon(R.drawable.a1);
    menu.add(2, 21, 21, "剪切");
    menu.add(2, 22, 22, "复制");
    menu.add(2, 23, 23, "粘贴");
    menu.add(2, 24, 24, "查找");
    menu.add(2, 25, 25, "替换");
   
    super.onCreateContextMenu(menu, v, menuInfo);
    }
    /**
     * 上下文关系菜单的点击事件
     * */
    @Override
    public boolean onContextItemSelected(MenuItem item) {
    Toast.makeText(this, item.getTitle(), 4).show();
    return super.onContextItemSelected(item);
    }
    
    /***
     * 普通菜单
     * */
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    /**
    * 添加菜单
    * 参数1:组号
    * 参数2:id号
    * 参数3:顺序号
    * 参数4:菜单标题名称1
    */
    //MenuItem item1=menu.add(1, 1, 1, "设置");
   
    //增加图标
    //item1.setIcon(R.drawable.a1);
    //将第一个菜单设置为子菜单
    SubMenu subMenu=menu.addSubMenu(1, 1, 1, "设置");
    subMenu.setIcon(R.drawable.a1);
   
    //给子菜单的标题加图标
    subMenu.setHeaderIcon(R.drawable.a1);
    subMenu.setHeaderTitle("设置子菜单");
   
    //给子菜单增加菜单项
    subMenu.add(12, 11, 11, "机构设置");
    subMenu.add(12, 12, 12, "部门设置");
    subMenu.add(12, 13, 13, "财务设置");
    subMenu.add(12, 14, 14, "密码设置");
    subMenu.add(12, 15, 15, "权限设置");
   
   
    /********************************************
    //给菜单项添加点击事件的监听
    item1.setOnMenuItemClickListener(new OnMenuItemClickListener() {

@Override
public boolean onMenuItemClick(MenuItem arg0) {
Toast.makeText(MainActivity.this, "这是菜单监听事件的方法....", 4).show();
return true;//菜单事件不在传递
}
});
**********************************************/
   
    MenuItem item2=menu.add(1, 2, 2, "重置");
    item2.setIcon(R.drawable.a2);
    MenuItem item3=menu.add(1, 3, 3, "购物");
    item3.setIcon(R.drawable.a3);
    MenuItem item4=menu.add(1, 4, 4, "更新");
    item4.setIcon(R.drawable.a4);
    MenuItem item5=menu.add(1, 5, 5, "权限");
    item5.setIcon(R.drawable.a5);
    MenuItem item6=menu.add(1, 6, 6, "朋友");
    item6.setIcon(R.drawable.a6);
    MenuItem item7=menu.add(1, 7, 7, "同事");
    item7.setIcon(R.drawable.a7);
    MenuItem item8=menu.add(1, 8, 8, "亲戚");
    MenuItem item9=menu.add(1, 9, 9, "好友");
   
   
        return true;
    }
    
    /**
     * 菜单的点击事件回调方法
     * */
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
 switch (item.getItemId()) {
case 1:
//Toast.makeText(this, item.getTitle(), 4).show();
// Intent in=new Intent();
// in.setClass(this, SetActivity.class);
// item.setIntent(in);
break;
case 2:
Toast.makeText(this, item.getTitle(), 4).show();
break;
case 3:
Toast.makeText(this, item.getTitle(), 4).show();
break;
case 4:
Toast.makeText(this, item.getTitle(), 4).show();
break;
case 5:
Toast.makeText(this, item.getTitle(), 4).show();
break;
case 6:
Toast.makeText(this, item.getTitle(), 4).show();
break;
case 7:
Toast.makeText(this, item.getTitle(), 4).show();
break;
case 8:
Toast.makeText(this, item.getTitle(), 4).show();
break;
case 9:
Toast.makeText(this, item.getTitle(), 4).show();
break;


default:
break;
}
 
 Toast.makeText(this, item.getTitle(), 4).show();  
 return false;
  }
}
0 0
原创粉丝点击