Android中OptionMenu用法实例
短信预约 -IT技能 免费直播动态提醒
本文实例讲述了Android中OptionMenu用法。分享给大家供大家参考。具体如下:
1、无需设置布局文件
2、创建一个类,基础Activity
3、重写onOptionsItemSelected方法,在这个方法里面添加菜单项
4、如果需要给菜单项添加单击事件,需要重写onOptionsItemSelected方法
MenuDemoActivity.java如下:
package com.yyl;
import Android.app.Activity;
import Android.os.Bundle;
import Android.view.Menu;
import Android.view.MenuItem;
public class MenuDemoActivity extends Activity {
public static final int EIGHT_ID = Menu.FIRST+1;
public static final int SIXTEEN_ID = Menu.FIRST+2;
public static final int TWENTY_FOUR_ID = Menu.FIRST+3;
public static final int TWO_ID = Menu.FIRST+4;
public static final int THIRTY_TWO_ID = Menu.FIRST+5;
public static final int FORTY_ID = Menu.FIRST+6;
public static final int ONE_ID = Menu.FIRST+7;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
//创建OptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
this.populateMenu(menu);
return super.onCreateOptionsMenu(menu);
}
//单击事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int itemId = item.getItemId();
System.out.println(itemId);
return super.onOptionsItemSelected(item);
}
private void populateMenu(Menu menu) {
menu.add(Menu.NONE, ONE_ID, Menu.NONE, "1 Pixel");
menu.add(Menu.NONE, TWO_ID, Menu.NONE, "2 Pixels");
menu.add(Menu.NONE, EIGHT_ID, Menu.NONE, "8 Pixels");
menu.add(Menu.NONE, SIXTEEN_ID, Menu.NONE, "16 Pixels");
menu.add(Menu.NONE, TWENTY_FOUR_ID, Menu.NONE, "24 Pixels");
menu.add(Menu.NONE, THIRTY_TWO_ID, Menu.NONE, "32 Pixels");
menu.add(Menu.NONE, FORTY_ID, Menu.NONE, "40 Pixels");
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
//得到点击的菜单项的ID(此Id是自己设定的)
int itemId = item.getItemId();
if(ONE_ID == itemId)
{
System.out.println("您选择了 1 Pixel 菜单");
}
return super.onMenuItemSelected(featureId, item);
}
}
希望本文所述对大家的Android程序设计有所帮助。
您可能感兴趣的文章:属于自己的常见Android选项菜单样式集合Android选项菜单用法实例分析Android中选项菜单(OptionMenu)的创建方法
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341