`
百合不是茶
  • 浏览: 356088 次
社区版块
存档分类
最新评论
阅读更多

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;
	 }

 

 

 

 

 

  • 大小: 22.5 KB
  • 大小: 25.2 KB
0
3
分享到:
评论

相关推荐

    android菜单使用示例

    本示例主要探讨如何在Android平台上有效地使用Menu。通过分析`MenuActivity`这个源码,我们可以深入理解Menu的创建、显示以及处理点击事件的过程。 1. **Menu的基本结构** Android中的Menu是由`Menu`类表示的,它...

    android--菜单学习

    在提供的资源中,"5.pdf"可能是详细讲解Android菜单使用的手册,"android 5-Menu.pptx"可能包含演示和教程,而"Example-4"可能是包含示例代码的工程文件。结合这些资源,开发者可以更全面地理解和掌握Android菜单的...

    android自定义菜单使用技巧

    本文将深入探讨如何实现Android自定义菜单,并结合QuickContactBadge控件的使用,为用户提供更加丰富的交互体验。 首先,我们来了解自定义菜单的基本概念。在Android中,菜单通常在Action Bar或Overflow Menu中显示...

    android菜单展开的动画效果

    总的来说,实现Android菜单展开的动画效果需要对Android的布局、动画系统和事件处理有深入理解。通过不断实践和调试,你可以创造出独特且吸引人的用户界面,为你的应用增添亮点。在提供的"satellite-menu-sample...

    android fragment 使用以及嵌套使用 底部菜单和顶部菜单

    本教程将深入探讨如何在Android应用中使用Fragment,以及如何进行嵌套使用,特别是在创建底部菜单和顶部菜单的场景下,类似微信和QQ的分页菜单设计。 1. **Fragment的基本使用**: - 创建Fragment:通过继承...

    最新最实用的android菜单界面布局

    "最新最实用的android菜单界面布局"指的是采用最新的设计趋势和技术,优化用户体验的Android应用菜单布局。这样的设计不仅能提升应用的美观度,还能提高用户的交互效率。下面我们将深入探讨Android菜单界面布局的...

    Android菜单定制总结

    在Android应用开发中,菜单(Menu)是用户界面...通过以上步骤,开发者可以有效地定制Android应用的菜单,为用户提供直观且易于使用的操作入口。不断学习和实践,你将能够创建出符合用户习惯,且具有个性化的菜单系统。

    Android实现上下文菜单、下拉菜单、选项菜单代码

    在 Android 中,我们可以使用 Spinner 控件来实现下拉菜单。在示例代码中,我们可以使用 ArrayAdapter 将数据绑定到 Spinner 中,然后在 Spinner 的 OnItemSelectedListener 中处理选择事件。 三、选项菜单 选项...

    android菜单导航

    "android菜单导航"这个主题涵盖了如何实现这样的交互效果,通常包括侧滑菜单、底部导航栏等组件的使用。下面我们将详细探讨这一领域的关键知识点。 1. **侧滑菜单(Slide-out Navigation Drawer)** - 侧滑菜单是...

    Android Studio 底部自定义菜单

    本文将深入探讨如何在Android Studio中实现底部自定义菜单,并结合"GreatWallApp"这一项目实例,来讲解相关的编程知识。 首先,底部自定义菜单通常指的是在应用界面底部设置的一排图标或文字按钮,用户可以通过点击...

    Android菜单、对话框使用实例源码

    在Android中,我们主要使用`OptionsMenu`和`PopupMenu`两种类型的菜单。`OptionsMenu`通常在Activity的标题栏中显示,而`PopupMenu`则可以在特定的视图上弹出。 1. **OptionsMenu**:在Android的`...

    Android 菜单筛选器

    接下来,我们将深入探讨Android菜单筛选器的实现原理、使用方法以及相关的知识点。 首先,让我们了解一下菜单的基本概念。在Android中,菜单主要用于在非触摸界面(如物理键盘设备)上显示操作选项。它们可以在活动...

    Android多级菜单的简单实现

    首先,我们需要理解Android菜单的基本概念。在Android中,菜单通常通过`Menu`类来实现,它可以在Activity的`onCreateOptionsMenu()`方法中进行定义和填充。然而,对于多级菜单,我们可能需要自定义视图或使用现有的...

    android菜单切换

    本项目名为"android菜单切换",其特色在于能够自定义菜单的发散方向,创造出独特的视觉效果,使菜单切换更为吸引人。这里我们主要讨论如何在Android中实现这种星型菜单以及相关技术。 首先,我们要理解Android菜单...

    android 菜单

    这时,可以调用`PopupMenu`的`inflate()`方法重新加载菜单布局,并使用`onPrepareOptionsMenu()`方法来更新菜单项的状态。 综上所述,Android中的下拉菜单功能是通过`PopupMenu`类实现的,它提供了一种灵活的方式来...

    Android 系统菜单与自定义菜单

    在Android应用开发中,菜单是用户...通过以上步骤,开发者可以在Android应用中灵活地使用系统菜单和自定义菜单,提供用户友好的交互体验。在实际项目中,可以参考`AndroidMenu`示例代码,进一步理解和应用这些概念。

    android超漂亮菜单

    总的来说,创建"android超漂亮菜单"需要掌握Android的菜单系统、XML资源定义、Activity生命周期、自定义视图和动画技术,以及可能涉及的第三方库的使用。通过不断实践和优化,我们可以创造出既美观又易于使用的菜单...

    Android仿美团外卖菜单界面

    Android仿美团外卖菜单界面 Android仿美团外卖菜单界面是Android开发中一个常见的界面,主要用于展示菜单信息。它通常由左侧菜单类别列表和右侧菜单详情列表组成。本文将详细介绍Android仿美团外卖菜单界面的实现...

    android 侧滑菜单-实例代码

    在Android应用开发中,侧滑菜单(Slide Menu)是一种常见的设计模式,用于提供导航和功能选项,用户只需从屏幕边缘向内滑动即可显示或隐藏菜单。这种菜单通常被用在许多应用程序中,如Google应用、Facebook应用等,...

Global site tag (gtag.js) - Google Analytics