編輯:關於android開發
菜單是用戶界面中最常見的元素之一,使用非常頻繁,在Android中,菜單被分為如下三種,選項菜單(OptionsMenu)、上下文菜單(ContextMenu)和子菜單(SubMenu),今天這講是OptionsMenu
一、概述:這裡偷懶,從網上引用的,非原創。引用出處:ForrestWoo
public boolean onCreateOptionsMenu(Menu menu):使用此方法調用OptionsMenu 。
public boolean onOptionsItemSelected(MenuItem item):選中菜單項後發生的動作。
public void onOptionsMenuClosed(Menu menu):菜單關閉後發生的動作。
public boolean onPrepareOptionsMenu(Menu menu):選項菜單顯示之前onPrepareOptionsMenu方法會被調用,你可以用此方法來根據打當時的情況調整菜單。
public boolean onMenuOpened(int featureId, Menu menu):單打開後發生的動作。
首先我們先創建一個menu文件,這裡用的是android studio,創建方式如下:
1.
2.
3.創建完成後,在muen.xml中寫以下代碼,分別是創建兩個meun控件(C#叫控件,這裡就采用這種叫法),代碼如下:
1 <?xml version="1.0" encoding="utf-8"?> 2 <menu xmlns:android="http://schemas.android.com/apk/res/android"> 3 <item android:id="@+id/add_item" 4 android:title="添加一個menu"/> 5 6 <item android:id="@+id/move_item" 7 android:title="移除一個menu" 8 /> 9 </menu>
在Studio中是這樣顯示的:
4.接下來我們重寫OnCrateOptionsMenu()方法:代碼如下
1 /*@ onCreateOptionsMenu 2 * */ 3 public boolean onCreateOptionsMenu(Menu menu) { 4 getMenuInflater().inflate(R.menu.menu, menu); 5 return true ; 6 }View Code
*通過getMenuInflater()方法得到對像,再調用inflate()來創建活動菜單,光有菜單是不夠的,我們要讓它顯示出來:添加以下代碼:
1 public boolean onOptionsItemSelected(MenuItem item) 2 { 3 switch (item.getItemId()) 4 { 5 case R.id.add_item: //在menu文件中定義的ID 6 Toast.makeText(this,"彈出一個menu",Toast.LENGTH_SHORT).show(); 7 break; 8 case R.id.move_item://同上 9 Toast.makeText(this,"關閉一個menu",Toast.LENGTH_SHORT).show(); 10 default: 11 12 break; 13 } 14 return true; 15 }onOptionsItemSelected
重寫onOptionsItemSelected方法,通過調用getItemId()方法來判斷點擊的是哪一個菜單。效果如下:
Android基礎部分再學習---activity的狀態保存 學習Activity的生命周期,我們知道,當Activity進入到paused或者stopped狀態後,這個
ImageLoader簡單使用,imageloader如圖是效果圖 &nb
Android群英傳筆記系列三 view的自定義:實現一個模擬下載,android群英1.實現效果:動態顯示進度(分別顯示了整個的動態改變的過程,然後完成後,彈出一個
EventBus初理解,EventBus理解 緣由: 平時工作,因為懶於動筆的原因,也沒注重技術和經驗的積累,導致之前曾經研究過的問題現在又忘
ILJMALL project過程中遇到Fragment嵌套問題:Ill