本人小白,大學(xué)期間,打算開(kāi)始自學(xué)Android,準(zhǔn)備用博客寫(xiě)下所學(xué)所得,希望有所收獲,望大家互相幫助
在 res 目錄下新建一個(gè)menu文件夾,右擊 res 目錄→New→Folder,輸入文件夾名menu,點(diǎn)擊Finish。接著在這個(gè)文件夾下再新建一個(gè)名叫main的菜單文件,右擊 menu 文件
夾→New→Android xml File
文件名輸入 main,點(diǎn)擊Finish 完成創(chuàng)建。然后在 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>這里我們創(chuàng)建了兩個(gè)菜單項(xiàng),其中<item>標(biāo)簽就是用來(lái)創(chuàng)建具體的某一個(gè)菜單項(xiàng),然后通過(guò)android:id給這個(gè)菜單項(xiàng)指定一個(gè)唯一標(biāo)識(shí)符,通過(guò)android:title給這個(gè)菜單項(xiàng)指定一個(gè)名稱(chēng)。
接著在在java代碼中重寫(xiě)onCreateOptionsMenu()方法
public boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}
通過(guò)getMenuInflater()方法能夠得到MenuInflater 對(duì)象,再調(diào)用它的inflate()方法就可以給當(dāng)前活動(dòng)創(chuàng)建菜單了。inflate()方法接收兩個(gè)參數(shù):
第一個(gè)參數(shù)用于指定我們通過(guò)哪一個(gè)資源文件來(lái)創(chuàng)建菜單,這里當(dāng)然傳入R.menu.main 第二個(gè)參數(shù)用于指定我們的菜單項(xiàng)將添加到哪一個(gè) Menu 對(duì)象當(dāng)中,這里直接使用onCreateOptionsMenu()方法中傳入的menu 參數(shù)。然后給這個(gè)方法返回 true,表示允許創(chuàng)建的菜單顯示出來(lái),如果返回了false,創(chuàng)建的菜單將無(wú)法顯示。
隨后還要重新定義菜單響應(yīng)事件。在 FirstActivity中重寫(xiě) 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()方法中,通過(guò)調(diào)用item.getItemId()來(lái)判斷我們點(diǎn)擊的是哪一個(gè)菜單項(xiàng),然后給每個(gè)菜單項(xiàng)加入自己的邏輯處理
這里我們彈出一個(gè)Toast。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注