MenuInflater

LayoutInflater是用来解析定义在layout下的布局文件,
MenuInflater就是用来解析定义在menu目录下的菜单布局文件的
我们传统意义上的定义菜单感觉比较繁琐,当我们使用MenuInflater来生成菜单,你会发现是多么的爽朗,呵呵,
我今天的小Demo,是定义四个菜单,并且实现了一个菜单事件。就是我们点击设置(Setting)菜单。
下面是实现Demo的详细步骤:
一、建立一个Android工程我们命名为MenuInflaterDemo.
二、在res目录下创建menu目录,并且创建options_menu.xml(我们定义的菜单)文件,代码如下:
【注意是放在menu目录下哦】
<?xmlversion="1.0"encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<itemandroid:id="@+id/menu_add"
android:title="Add"
android:icon="@android:drawable/ic_menu_add"
/>
<itemandroid:id="@+id/menu_wallaper"
android:title="Wallpaper"
android:icon="@android:drawable/ic_menu_gallery"
/>
<itemandroid:id="@+id/menu_search"
android:title="Search"
android:icon="@android:drawable/ic_search_category_default"
/>
<itemandroid:id="@+id/menu_setting"
android:title="Settings"
android:icon="@android:drawable/ic_menu_preferences"
/>
</menu>
三、主类MenuInflaterDemo.java的编码,这里写的代码很少哦,我这里只写了第四个菜单(Settings)的响应事件.全部代码如下:
packagecom.android.tutor;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuInflater;
importandroid.view.MenuItem;
publicclassMenuInflaterDemoextendsActivity{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

@Override
publicbooleanonCreateOptionsMenu(Menumenu){
MenuInflaterinflater=getMenuInflater();
inflater.inflate(R.menu.options_menu,menu);
returntrue;
}

@Override
publicbooleanonOptionsItemSelected(MenuItemitem){
switch(item.getItemId()){
caseR.id.menu_add:

break;
caseR.id.menu_wallaper:
break;
caseR.id.menu_search:
break;
caseR.id.menu_setting:
showSettings();
break;
}
returnsuper.onOptionsItemSelected(item);
}


privatevoidshowSettings(){

finalIntentsettings=newIntent(android.provider.Settings.ACTION_SETTINGS);
settings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);

startActivity(settings);
}
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值