之前在一篇文章中已经讲过了菜单项的创建方法,但是那种方法效率较低,维护不易,现在实现另一种方法创建菜单。
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,将弹出系统设置页面!
您可能感兴趣的文章:Android LayoutInflater.inflate源码分析Android getViewById和getLayoutInflater().inflate()的详解及比较Android开发中LayoutInflater用法详解基于Android LayoutInflater的使用介绍Android inflater 用法及不同点