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>

更多相关文章

  1. Android中使用ormlite实现持久化--HelloOrmLite
  2. Android(安卓)TabHost学习笔记
  3. android菜单详解六:快捷键和菜单intent
  4. Android(安卓)Studio 添加类似eclipse 里的user library
  5. Android(安卓)Q(10) SystemUI添加快速设置按钮
  6. Android系列之Android开发教程代码实例
  7. Android(安卓)SDK 镜像站
  8. Android(安卓)Menu
  9. Android中几种图像特效处理

随机推荐

  1. Android锁屏(四)
  2. Ubuntu 18.04 环境下编译Android(安卓)源
  3. android 开发文档翻译
  4. Android(安卓)有关java.lang.NoClassDefF
  5. Cordova 3.x 源码分析(7) -- CordovaLib概
  6. Android_多窗口
  7. Android模拟器连接物理键盘
  8. SwipeRefreshLayout Android(安卓)自带的
  9. 深入理解FragmentManager
  10. [Android]用图库打开指定的文件夹,没错是