Android開發之按鍵控制
<span style="font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: rgb(250, 247, 239);">Android手機一般都有三個鍵,返回鍵、Home鍵、選單鍵;</span>
Android系統的選單支援主要通過4個介面來實現。
Activity有一套機制來實現對選單的管理,方法如下:
1.public boolean onCreateOptionsMenu(Menu menu)此方法用於初始化選單,其中menu引數就是即將要顯示的Menu例項。
返回true則顯示該menu,false 則不顯示;
(只會在第一次初始化選單時呼叫)
2.public boolean
onPrepareOptionsMenu(Menu
menu)在
onCreateOptionsMenu執行後,選單被顯示前呼叫;如果選單已經被建立,則在選單顯示前被呼叫。 同樣的, 返回true則顯示該menu,false
則不顯示;(可以通過此方法動態的改變選單的狀態,比如載入不同的選單等)
3.public void onOptionsMenuClosed(Menu menu)每次選單被關閉時呼叫.
(
選單被關閉有三種情形,menu按鈕被再次點選、back按鈕被點選或者使用者選擇了某一個選單項)
4.public boolean onOptionsItemSelected(MenuItem item)選單項被點選時呼叫,也就是選單項的監聽方法。
通過這幾個方法,可以得知,對於Activity,同一時間只能顯示和監聽一個Menu 物件。
看下程式碼:
//這裡是初始化選單,建立一個選單有一個選項,(也可以適用xml佈局來設定選單的樣式)
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
int group1 = 1;
menu.add(group1, 1, 1, "選單"
returntrue;
}
//這裡是選單的監聽方法,選單選項被點選時觸發這個方法響應事件
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
Intent intent = new Intent();
intent.setClass(getApplicationContext(), BActivity.class);
startActivity(intent);
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}