閱讀968 返回首頁    go 外匯


屏蔽android的menu鍵,使menu鍵不能用,自定義menu鍵

在Activity中重寫onKeyDown方法,Menu鍵被屏蔽但HOME鍵未被屏蔽,其中還HOME屏蔽在我的另外一篇博客中已詳細介紹,下麵來解決Menu鍵被屏蔽,讓其中MENU鍵有效。

屏蔽android的menu鍵:

@Override
	public 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();// 更新menu
menuGrid.setSelection(ITEM_MORE);
break;
}


}
});



 

最後更新:2017-04-02 06:52:12

  上一篇:go android 模擬器和PC用sockets通訊
  下一篇:go java 淺複製和深複製