Android学习笔记之MENU
Android学习笔记之MENU
今天学习如何在Android里进行MENU操作,比较了一下微软和android对菜单操作的区别,总的来说,还是微软那一套比较方便(*^__^*)嘻嘻……
好,转入正题。在android要建立自己的菜单,要重载一下父类的onCreateOptionsMenu方法。然后在onCreateOptionsMenu里进行添加菜单的操作。代码如下:
@Override
publicbooleanonCreateOptionsMenu(Menumenu){
super.onCreateOptionsMenu(menu);
menu.add(0,ADD_ID,0,R.string.Menu_Add);
menu.add(0,DELETE_ID,1,R.string.Menu_Del);
menu.add(0,UPDATE_ID,2,R.string.Menu_Update);
menu.add(0,EXIT_ID,3,R.string.Menu_Exit);
returntrue;
}
其中ADD_ID、DELETE_ID、UPDATE_ID、EXIT_ID是每个菜单项的Id,定义如下:
publicstaticfinalintADD_ID=Menu.FIRST;
publicstaticfinalintDELETE_ID=Menu.FIRST+1;
publicstaticfinalintEXIT_ID=Menu.FIRST+2;
publicstaticfinalintUPDATE_ID=Menu.FIRST+3;
然后在资源文件里添加要显示在菜单上的文本,打开string.xml添加如下代码:
<stringname="Menu_Add">AddItem</string>
<stringname="Menu_Del">DeleteItem</string>
<stringname="Menu_Update">UpdateItem</string>
<stringname="Menu_Exit">Exit</string>
一个简单的菜单就做好了,简单吧。建立好菜单后,下一步就是为菜单添加相应事件了。这个也是重载父类的onOptionsItemSelected方法,代码如下:
@Override
publicbooleanonOptionsItemSelected(MenuItemitem){
switch(item.getItemId()){
caseADD_ID:setTitle("Insert...");break;
caseDELETE_ID:setTitle("Delete...");break;
caseEXIT_ID:setTitle("Exit...");break;
caseUPDATE_ID:setTitle("Update...");break;
default:break;
}
returntrue;
}
这样一个基本的菜单就实现了,(*^__^*)嘻嘻……,简单吧。下回继续。(附本例所有代码)
ex01.java:
packageoms.ex01;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
publicclassex01extendsActivity{
/**Calledwhentheactivityisfirstcreated.*/
publicstaticfinalintADD_ID=Menu.FIRST;
publicstaticfinalintDELETE_ID=Menu.FIRST+1;
publicstaticfinalintEXIT_ID=Menu.FIRST+2;
publicstaticfinalintUPDATE_ID=Menu.FIRST+3;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu){
super.onCreateOptionsMenu(menu);
menu.add(0,ADD_ID,0,R.string.Menu_Add);
menu.add(0,DELETE_ID,1,R.string.Menu_Del);
menu.add(0,UPDATE_ID,2,R.string.Menu_Update);
menu.add(0,EXIT_ID,3,R.string.Menu_Exit);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem){
switch(item.getItemId()){
caseADD_ID:setTitle("Insert...");break;
caseDELETE_ID:setTitle("Delete...");break;
caseEXIT_ID:setTitle("Exit...");break;
caseUPDATE_ID:setTitle("Update...");break;
default:break;
}
returntrue;
}
}
string.xml:
<?xmlversion="1.0"encoding="utf-8"?>
<resources>
<stringname="hello">HelloWorld,ex01!</string>
<stringname="app_name">ex01</string>
<stringname="Menu_Add">AddItem</string>
<stringname="Menu_Del">DeleteItem</string>
<stringname="Menu_Update">UpdateItem</string>
<stringname="Menu_Exit">Exit</string>
</resources>
更多相关文章
- android 软件更新代码
- Ubuntu 下 Android源代码下载指南
- Android中图像变换Matrix的原理、代码验证和应用(一)
- android菜单详解六:快捷键和菜单intent
- Android系列之Android开发教程代码实例
- 自定义SeekBarPreference控件(老外出品,直接在preferences文件中
- Android Activity切换动画效果详解(附源代码)