用Android MenuInflater創(chuàng)建菜單項(xiàng)的方法步驟
之前在一篇文章中已經(jīng)講過了菜單項(xiàng)的創(chuàng)建方法,但是那種方法效率較低,維護(hù)不易,現(xiàn)在實(shí)現(xiàn)另一種方法創(chuàng)建菜單。
MenuInflater,通過此類我們可以輕松的創(chuàng)建菜單項(xiàng),具體步驟如下:
1、在res/menu/文件夾下,找到main.xml文件,此文件就是我們定義菜單項(xiàng)的地方,在些文件中添加如下菜單項(xiàng):
<item
android:id="@+id/menu1"
android:icon="@android:drawable/alert_dark_frame"
android:title="Menu1"/>
<item
android:id="@+id/menu2"
android:icon="@android:drawable/alert_dark_frame"
android:title="Menu2"/>
<item
android:id="@+id/menu3"
android:icon="@android:drawable/alert_dark_frame"
android:title="Menu3"/>
<item
android:id="@+id/menu4"
android:icon="@android:drawable/alert_dark_frame"
android:title="Menu4"/>
2、在Activity中,覆寫如下方法并添加一個(gè)顯示系統(tǒng)設(shè)置界面的方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu1:// 在些定義第一個(gè)菜單項(xiàng)的響應(yīng)事件
break;
case R.id.menu2:
break;
case R.id.menu3:
break;
case R.id.menu4:
showSettings();
break;
}
return super.onOptionsItemSelected(item);
}
private void showSettings() {
final Intent settingsIntent = new Intent(android.provider.Settings.ACTION_SETTINGS);
settingsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
startActivity(settingsIntent);
}
3、運(yùn)行程序,點(diǎn)擊Menu,將出現(xiàn)如下效果

點(diǎn)擊Menu4,將彈出系統(tǒng)設(shè)置頁面!
相關(guān)文章
Android Studio三方引用報(bào)錯(cuò)但是項(xiàng)目可以運(yùn)行的解決方案
今天小編就為大家分享一篇關(guān)于Android Studio三方引用報(bào)錯(cuò)但是項(xiàng)目可以運(yùn)行的解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
Kotlin使用TransitionDrawable實(shí)現(xiàn)顏色漸變效果流程講解
這篇文章主要介紹了Kotlin使用TransitionDrawable實(shí)現(xiàn)顏色漸變效果,這里,我們通過TransitionDrawable顯示顏色漸變效果,包括背景顏色的變化,以及圖片與圖片的漸變效果2023-02-02
Android 通過Intent使用Bundle傳遞對(duì)象詳細(xì)介紹
這篇文章主要介紹了Android 通過Intent使用Bundle傳遞對(duì)象詳細(xì)介紹的相關(guān)資料,并附實(shí)例代碼講解,具有一定的參考價(jià)值,需要的朋友可以參考下2016-11-11
Android Studio 3.0中mipmap-anydpi-v26是什么東東
在Android Studio 3.0中一旦我們創(chuàng)建了一個(gè)項(xiàng)目,一個(gè)名為mipmap-anydpi-v26自動(dòng)創(chuàng)建的文件夾在res文件夾下。它究竟能干什么?為什么我們需要這個(gè)?我們?cè)陂_發(fā)時(shí)該如何利用它,下面通過本文給大家介紹下2017-12-12
Flutter上的數(shù)據(jù)監(jiān)控深入理解
這篇文章主要給大家介紹了關(guān)于Flutter上的數(shù)據(jù)監(jiān)控的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
取消Android Studio項(xiàng)目與SVN關(guān)聯(lián)的方法
今天小編就為大家分享一篇關(guān)于取消Android Studio項(xiàng)目與SVN關(guān)聯(lián)的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12
Kotlin + Flow 實(shí)現(xiàn)Android 應(yīng)用初始化任務(wù)啟動(dòng)庫
這篇文章主要介紹了Kotlin + Flow 實(shí)現(xiàn)Android 應(yīng)用初始化任務(wù)啟動(dòng)庫的方法,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-03-03
Android中View的炸裂特效實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Android中View的炸裂特效實(shí)現(xiàn)方法,涉及Android組件ExplosionField的相關(guān)定義與使用技巧,需要的朋友可以參考下2016-07-07

