引用:大部分的應用程式都包括兩種人機互動方式,一種是直接通過gui的 views,其可以滿足大部分的互動操作。另外一種是應用menu,當按下menu按鈕後,會彈出與當前活動狀態下的應用程式相匹配的選單。
這兩種方式相比較都有各自的優勢,而且可以很好的相輔相成,即便使用者可以由主介面完成大部分操作, 但是適當的拓展menu功能可以更加完善應用程式,至少使用者可以通過排列整齊的按鈕清晰的了解當前模式下可以使用的功能。
有兩種方法可以為androidapps新增選單功能,下邊將對設定過程給出詳細的介紹:
第一種方法,通過layout來新增靜態選單元素。
一般情況下,開發者在res/layout路徑下來定義應用程式的gui。應用eclipse建立乙個新專案後,可以看到res/layout中存在乙個預置的main.xml檔案,其作為程式預設啟動介面。
同樣,可以通過這種方式建立乙個靜態的menu,建立方法參閱下邊的源**:
?view code xml
在activity類中呼叫剛剛建立的menu,首先將當前的activity與指定的menu xml相關聯:
1.@override
2.public boolean oncreateoptionsmenu(menu menu)
實現onoptionsitemselected方法: (其目的是捕捉到選單觸發事件後,對具體觸發的選項作出響應,實際呼叫的函式包含在各自的case中)
01.@override
02.public boolean onoptionsitemselected(menuitem item)
14. return false; //should never happen
15.}
最後可以通過onprepareoptionmenu方法初始化menu items的屬性:
01.@override
02.public boolean onprepareoptionsmenu(menu menu) else
15. return true;
16.}
大部分程式都通過這種方式新增menu選單功能,而且通過以上的步驟來看,其實現方法非常簡單。
第二種方法,在activity類中動態建立menu。
首先需要定義menu item識別序號:
1.public static final menu_previous = 0; //no more r.ids
2.public static final menu_play_pause = 1;
3.public static final menu_next = 2;
實現oncreateoptionmenu()方法:(第一種方法中已經通過xml定義了現成的menu結構,所以不需要應用這個方法)
01.@override
02.public boolean oncreateoptionsmenu(menu menu)
引用與第一種方法相同的方式來捕捉選單的行為:
01.@override
02.public boolean onoptionsitemselected(menuitem item)
14. return false; //should never happen
15.}
————
對以上兩種方法的補充:
根據需要設定不同menu item的屬性:
1.menu.finditem(r.id.next).setenabled(false);
設定menu item從屬關係(新增子父級別):
直接寫在方法中:
1.menu
2. .addsubmenu(r.id.repeat)
3. .add(r.id.one)
4. .add(r.id.all)
5. .add(r.id.none);
直接定義在xml layout中:
?view code xml
芥菜的兩種醃製方法
芥菜含有維生素a b族維生素 維c和維d很豐富。具體功效有提神醒腦,芥菜含有大量的抗壞血酸,是活性很強的還原物質,參與機體重要的氧化還原過程,能增加大腦中氧含量,激發大腦對氧的利用,有提神醒腦,解除疲勞的作用。其次還有解毒消腫之功,能抗感染和預防疾病的發生,抑制細菌毒素的毒性,促進傷口癒合,可用來輔...
功率放大器兩種實現方法的比較
功率放大電路是一種能量轉換電路,要求在失真許可的範圍內,高效地為負載提供盡可能大的功率,功放管的工作電流 電壓的變化範圍很大,那麼三極體常常是工作在大訊號狀態下或接近極限運用狀態,有甲類 乙類 甲乙類等各種工作方式。為了提高效率,將放大電路做成推挽式電路,功放管的工作狀態設定為甲乙類,以減小交越失真...
兩種常用的風險評價方法
1 半定量風險矩陣 半定量風險矩陣 可以接受,但是應該審查工作任務,看風險是否還可以降低。只有諮詢專業人員和風險評價人員後,經過相應管理授權才可以開展工作。工作任務不可以進行。工作任務應該重新設定,或設定更多的控制措施進一步降低風險。在開始工作任務前,應對這些控制措施重新評價,看是否充分。2 lec...