用Android MenuInflater创建菜单项的方法步骤
程序员文章站
2023-11-28 23:06:52
之前在一篇文章中已经讲过了菜单项的创建方法,但是那种方法效率较低,维护不易,现在实现另一种方法创建菜单。
menuinflater,通过此类我们可以轻松的创建菜单项,具体...
之前在一篇文章中已经讲过了菜单项的创建方法,但是那种方法效率较低,维护不易,现在实现另一种方法创建菜单。
menuinflater,通过此类我们可以轻松的创建菜单项,具体步骤如下:
1、在res/menu/文件夹下,找到main.xml文件,此文件就是我们定义菜单项的地方,在些文件中添加如下菜单项:
复制代码 代码如下:
<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中,覆写如下方法并添加一个显示系统设置界面的方法
复制代码 代码如下:
@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:// 在些定义第一个菜单项的响应事件
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、运行程序,点击menu,将出现如下效果
点击menu4,将弹出系统设置页面!