本人小白,大學期間,打算開始自學Android,準備用博客寫下所學所得,希望有所收獲,望大家互相幫助
在 res 目錄下新建一個menu文件夾,右擊 res 目錄→New→Folder,輸入文件夾名menu,點擊Finish。接著在這個文件夾下再新建一個名叫main的菜單文件,右擊 menu 文件
夾→New→Android xml File
文件名輸入 main,點擊Finish 完成創建。然后在 main.xml 中添加如下代碼:<menu xmlns:android="http://schemas.android.com/apk/res/android" ><itemandroid:id="@+id/add_item"android:title="Add"/><itemandroid:id="@+id/remove_item"android:title="Remove"/></menu>這里我們創建了兩個菜單項,其中<item>標簽就是用來創建具體的某一個菜單項,然后通過android:id給這個菜單項指定一個唯一標識符,通過android:title給這個菜單項指定一個名稱。
接著在在java代碼中重寫onCreateOptionsMenu()方法
public boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}
通過getMenuInflater()方法能夠得到MenuInflater 對象,再調用它的inflate()方法就可以給當前活動創建菜單了。inflate()方法接收兩個參數:
第一個參數用于指定我們通過哪一個資源文件來創建菜單,這里當然傳入R.menu.main 第二個參數用于指定我們的菜單項將添加到哪一個 Menu 對象當中,這里直接使用onCreateOptionsMenu()方法中傳入的menu 參數。然后給這個方法返回 true,表示允許創建的菜單顯示出來,如果返回了false,創建的菜單將無法顯示。
隨后還要重新定義菜單響應事件。在 FirstActivity中重寫 onOptionsItemSelected()方法:
public boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case R.id.add_item:Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();break;case R.id.remove_item:Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show();break;default:}return true;} 在 onOptionsItemSelected()方法中,通過調用item.getItemId()來判斷我們點擊的是哪一個菜單項,然后給每個菜單項加入自己的邏輯處理
這里我們彈出一個Toast。
新聞熱點
疑難解答