十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Android中菜单分为三种,选项菜单(OptionMenu),上下文菜单(ContextMenu),子菜单(SubMenu)
创新互联一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!为您提供成都网站设计、成都网站制作、成都网页设计、小程序制作、成都网站开发、成都网站制作、成都软件开发、app开发定制是成都本地专业的网站建设和网站设计公司,等你一起来见证!选项菜单
可以通过两种办法增加选项菜单,一是在menu.xml中添加,该种方式参见Android 资源详解(二) 菜单资源,二是在.java中添加
1、覆盖Activity 的 onCreateOptionsMenu(Menu menu)方法,当我们第一次打开菜单
时该方法被自动调用。
2、调用Menu的 add()方法添加菜单项(Menultem) ,可以调用Menultem的setIcon()
方法来为菜单项设置图标。.1
3、当菜单项(Menuitem) 被选择时,覆盖 Activity 的 onOptionsItemSelected()方法来 响应事件。
如下代码:
public class MainActivity extends Activity { private static final int menu1=Menu.FIRST; private static final int menu2=Menu.FIRST+1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public boolean onCreateOptionsMenu(Menu menu) { menu.add(0,menu1,0,"OK"); menu.add(0,menu2,0,"CANCEL"); return true; } }
上下文菜单
当用户按住屏幕后,弹出的菜单成为上下文菜单。
1、覆盖Activity 的 onCreateContextMenuO方法, 调用 Menu 的 add 方法添加菜单项
2、覆盖onContextItemSelected(MenuIten item) 方法,响应菜单单击事件。
3、调用 registerForContextMenu()方法,为视图注册上下文菜单。当长按视图时,会出现上下文菜单。代码如下:
public class MainActivity extends Activity { private static final int menu1=Menu.FIRST; private static final int menu2=Menu.FIRST+1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView mytext=(TextView)this.findViewById(R.id.text1); this.registerForContextMenu(mytext); } public void onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuinfo) { menu.add(0,menu1,0,"OK"); menu.add(0,menu2,0,"CANCEL"); } public boolean onContextItemSelected(MenuItem item) { int id=item.getGroupId(); switch(id) { case menu1: break; case menu2:break; } return super.onContextItemSelected(item); } }
子菜单
子菜单就是将相同功能的分组进行多级显示的一种菜单,比如,Windows的"文件"菜单中又有"新建"、"打开"、"关闭"等子菜单。Android系统中的子菜单也很多见,如" Settings" (设置)菜单就有其子菜单。
具体步骤如下:
1、覆盖Activity 的 onCreateOptionsMenu()方法,调用 Menu 的 addSubMenu()方法添
加子菜单项 (SubMenu)。
2、调用SubMenu的add()方法,添加子菜单 (SubMenu) 。
3、覆盖onContextItemSelected()方法,响应菜单单击事件。
代码如下:
public class MainActivity extends Activity { private static final int menu1=Menu.FIRST; private static final int menu2=Menu.FIRST+1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public boolean onCreateOptionsMenu(Menu menu) { SubMenu file=menu.addSubMenu("file");//添加子菜单 SubMenu edit=menu.addSubMenu("edit");//添加子菜单 file.add(0,menu1,0,"new");//为子菜单添加菜单选项 file.add(0,menu2,0,"open"); return true; } }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。