在Activity中重写onKeyDown方法,Menu键被屏蔽但HOME键未被屏蔽,其中还HOME屏蔽在我的另外一篇博客中已详细介绍,下面来解决Menu键被屏蔽,让其中MENU键有效。

屏蔽android的menu键:

@Overridepublic boolean onPrepareOptionsMenu(Menu menu) {Log.i(TAG, "groupList.size() = " + groupList.size());if(groupList.size() > 0){menu.add(0, MENU_EDITOR, 0, "编辑");super.onPrepareOptionsMenu(menu);}return false;}



防止屏蔽menu键:

public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_MENU) { super.openOptionsMenu(); }return true;}


自定义menu:

@Override/*** 创建MENU*/public boolean onCreateOptionsMenu(Menu menu) {menu.add("menu");// 必须创建一项return super.onCreateOptionsMenu(menu);}@Override/*** 拦截MENU*/public boolean onMenuOpened(int featureId, Menu menu) {if (menuDialog == null) {menuDialog = new AlertDialog.Builder(this).setView(menuView).show();} else {menuDialog.show();}return false;// 返回为true 则显示系统menu}menuGrid = (GridView) menuView.findViewById(R.id.gridview);menuGrid.setAdapter(getMenuAdapter(menu_name_array, menu_image_array));/** 监听menu选项 **/menuGrid.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {switch (arg2) {case ITEM_SEARCH:// 搜索break;case ITEM_FILE_MANAGER:// 文件管理break;case ITEM_DOWN_MANAGER:// 下载管理break;case ITEM_FULLSCREEN:// 全屏break;case ITEM_MORE:// 翻页if (isMore) {menuGrid.setAdapter(getMenuAdapter(menu_name_array2,menu_image_array2));isMore = false;} else {// 首页menuGrid.setAdapter(getMenuAdapter(menu_name_array,menu_image_array));isMore = true;}menuGrid.invalidate();// 更新menumenuGrid.setSelection(ITEM_MORE);break;}}});


更多相关文章

  1. Android关于Activity屏蔽/拦截Home键
  2. Android笔记之广播Broadcast
  3. Android统一处理断网
  4. Android中屏蔽 电源键长按、Home键、Home长按
  5. android studio 解决65536的方法(64K)
  6. android 从APP启动另一个APP
  7. Android(安卓)8.1.0 源码修改之 - 屏蔽 Home 按键
  8. Android(安卓)Testing Fundamentals 2, robotium, uiautomator,
  9. Android(安卓)ListView根据项数的大小自动改变高度

随机推荐

  1. Android(安卓)Testing Fundamentals 1, u
  2. Android(安卓)UI系列:关于按钮点击事件
  3. Android(安卓)SharedPreferences解析
  4. Android常用Manager
  5. Android(安卓)游戏与应用开发最佳学习路
  6. android 使用gdb调试的方式
  7. Android(安卓)软键盘问题总结
  8. Android(安卓)获取网络时间
  9. [置顶] Android4.2.2自增物理按键(framewo
  10. 关于cocos2dx的eclipse的"serializing cd