Android里面也可用XML定义菜单资源,菜单分两种,一种是OptionMenu(点系统"Menu"键出来),另一种是ContextMenu必须长按才能出来;
optionMenu菜单的使用
1,创建选项菜单; onCreateOptionsMenu(Menu menu)
//创建选项菜单的方法 @Override public boolean onCreateOptionsMenu(Menu menu) { //menu.add(groupId, itemId, order, title) //goupid 菜单项所在组的标示符 //itemid 唯一表示的ID //order 菜单栏项的显示顺序 //title 菜单项相似的文本 MenuItem menu1 = menu.add(0, 0, 0, "item1"); menu1.setAlphabeticShortcut('a');//分配快捷键的方法 menu1.setIcon(R.drawable.ic_launcher); //设置图标 MenuItem menu2 = menu.add(0, 1, 1, "item2"); menu1.setAlphabeticShortcut('b');//分配快捷键的方法 menu1.setIcon(R.drawable.ic_launcher); //设置图标 MenuItem menu3 = menu.add(0, 2, 2, "item3"); menu1.setAlphabeticShortcut('c');//分配快捷键的方法 menu1.setIcon(R.drawable.ic_launcher); //设置图标 //使用简单方式创建三个菜单栏 menu.add(0,4,4,"item4"); menu.add(0,5,5,"item5"); menu.add(0,6,6,"item6"); return true; }
2,添加选项菜单的监听器onOptionsItemSelected(MenuItem item);
@Override//选项菜单的监听器 public boolean onOptionsItemSelected(MenuItem item) { //MenuChoice方法接收Menuite方法的一个参数,并检查其ID确定被选中的菜单项 int id = item.getItemId(); switch (id) { case 0: Toast.makeText(this, "选中item1", 1000).show(); break; case 1: Toast.makeText(this, "选中item2", 1000).show(); break; case 2: Toast.makeText(this, "选中item3", 1000).show(); break; case 4: Toast.makeText(this, "选中item4", 1000).show(); break; case 5: Toast.makeText(this, "选中item5", 1000).show(); break; case 6: Toast.makeText(this, "选中item6", 1000).show(); break; } return false; }
ContextMenu菜单的使用;
上下文菜单的使用必须是长按才会出来
1,定义布局上下文菜单的布局文件menu_contextemnu.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/rename" android:title="修改名字" /> <item android:id="@+id/dele" android:title="删除" /> <item android:id="@+id/open" android:title="打开" /> <item android:id="@+id/detailed" android:title="详细" /> </menu>
2,定义主配置文件 acticity_main.xml
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onclick" android:text="上下文菜单" />
3,java类的使用
//上下文菜单的使用 public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.setContentView(R.layout.activity_main); //获得按钮 Button btn=(Button)this.findViewById(R.id.btn); btn.setOnCreateContextMenuListener(this); //上下文菜单的使用必须要先注册组件 this.registerForContextMenu(btn); } public void onclick(View v){ } @Override//创建上下文菜单 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); getMenuInflater().inflate(R.layout.menu_contextemnu, menu); } @Override//创建上下文监听器 public boolean onContextItemSelected(MenuItem item) { int id = item.getItemId(); switch (id) { case R.id.rename: Toast.makeText(this, "重命名", 1000).show(); break; case R.id.dele: Toast.makeText(this, "删除", 1000).show(); break; case R.id.detailed: Toast.makeText(this, "详细", 1000).show(); break; case R.id.open: Toast.makeText(this, "打开", 1000).show(); break; } return false; } }
3, 选项菜单和上下文菜单监听器;
onMenuItemSelected可以同时使用在有少量的选项菜单和上下文的情况,下面一个方法就搞定, 如果出现上下文监听器(onContextItemSelected),选项监听器(onOptionsItemSelected) ,onMenuItemSelected 则只会执行onMenuItemSelected 监听器
@Override // 菜单被选中的时候会执行 public boolean onMenuItemSelected(int featureId, MenuItem item) { // TODO Auto-generated method stub return true; }
相关推荐
本示例主要探讨如何在Android平台上有效地使用Menu。通过分析`MenuActivity`这个源码,我们可以深入理解Menu的创建、显示以及处理点击事件的过程。 1. **Menu的基本结构** Android中的Menu是由`Menu`类表示的,它...
在提供的资源中,"5.pdf"可能是详细讲解Android菜单使用的手册,"android 5-Menu.pptx"可能包含演示和教程,而"Example-4"可能是包含示例代码的工程文件。结合这些资源,开发者可以更全面地理解和掌握Android菜单的...
本文将深入探讨如何实现Android自定义菜单,并结合QuickContactBadge控件的使用,为用户提供更加丰富的交互体验。 首先,我们来了解自定义菜单的基本概念。在Android中,菜单通常在Action Bar或Overflow Menu中显示...
总的来说,实现Android菜单展开的动画效果需要对Android的布局、动画系统和事件处理有深入理解。通过不断实践和调试,你可以创造出独特且吸引人的用户界面,为你的应用增添亮点。在提供的"satellite-menu-sample...
本教程将深入探讨如何在Android应用中使用Fragment,以及如何进行嵌套使用,特别是在创建底部菜单和顶部菜单的场景下,类似微信和QQ的分页菜单设计。 1. **Fragment的基本使用**: - 创建Fragment:通过继承...
"最新最实用的android菜单界面布局"指的是采用最新的设计趋势和技术,优化用户体验的Android应用菜单布局。这样的设计不仅能提升应用的美观度,还能提高用户的交互效率。下面我们将深入探讨Android菜单界面布局的...
在Android应用开发中,菜单(Menu)是用户界面...通过以上步骤,开发者可以有效地定制Android应用的菜单,为用户提供直观且易于使用的操作入口。不断学习和实践,你将能够创建出符合用户习惯,且具有个性化的菜单系统。
在 Android 中,我们可以使用 Spinner 控件来实现下拉菜单。在示例代码中,我们可以使用 ArrayAdapter 将数据绑定到 Spinner 中,然后在 Spinner 的 OnItemSelectedListener 中处理选择事件。 三、选项菜单 选项...
"android菜单导航"这个主题涵盖了如何实现这样的交互效果,通常包括侧滑菜单、底部导航栏等组件的使用。下面我们将详细探讨这一领域的关键知识点。 1. **侧滑菜单(Slide-out Navigation Drawer)** - 侧滑菜单是...
本文将深入探讨如何在Android Studio中实现底部自定义菜单,并结合"GreatWallApp"这一项目实例,来讲解相关的编程知识。 首先,底部自定义菜单通常指的是在应用界面底部设置的一排图标或文字按钮,用户可以通过点击...
在Android中,我们主要使用`OptionsMenu`和`PopupMenu`两种类型的菜单。`OptionsMenu`通常在Activity的标题栏中显示,而`PopupMenu`则可以在特定的视图上弹出。 1. **OptionsMenu**:在Android的`...
接下来,我们将深入探讨Android菜单筛选器的实现原理、使用方法以及相关的知识点。 首先,让我们了解一下菜单的基本概念。在Android中,菜单主要用于在非触摸界面(如物理键盘设备)上显示操作选项。它们可以在活动...
首先,我们需要理解Android菜单的基本概念。在Android中,菜单通常通过`Menu`类来实现,它可以在Activity的`onCreateOptionsMenu()`方法中进行定义和填充。然而,对于多级菜单,我们可能需要自定义视图或使用现有的...
本项目名为"android菜单切换",其特色在于能够自定义菜单的发散方向,创造出独特的视觉效果,使菜单切换更为吸引人。这里我们主要讨论如何在Android中实现这种星型菜单以及相关技术。 首先,我们要理解Android菜单...
这时,可以调用`PopupMenu`的`inflate()`方法重新加载菜单布局,并使用`onPrepareOptionsMenu()`方法来更新菜单项的状态。 综上所述,Android中的下拉菜单功能是通过`PopupMenu`类实现的,它提供了一种灵活的方式来...
在Android应用开发中,菜单是用户...通过以上步骤,开发者可以在Android应用中灵活地使用系统菜单和自定义菜单,提供用户友好的交互体验。在实际项目中,可以参考`AndroidMenu`示例代码,进一步理解和应用这些概念。
总的来说,创建"android超漂亮菜单"需要掌握Android的菜单系统、XML资源定义、Activity生命周期、自定义视图和动画技术,以及可能涉及的第三方库的使用。通过不断实践和优化,我们可以创造出既美观又易于使用的菜单...
Android仿美团外卖菜单界面 Android仿美团外卖菜单界面是Android开发中一个常见的界面,主要用于展示菜单信息。它通常由左侧菜单类别列表和右侧菜单详情列表组成。本文将详细介绍Android仿美团外卖菜单界面的实现...
在Android应用开发中,侧滑菜单(Slide Menu)是一种常见的设计模式,用于提供导航和功能选项,用户只需从屏幕边缘向内滑动即可显示或隐藏菜单。这种菜单通常被用在许多应用程序中,如Google应用、Facebook应用等,...