1、首先创建一个android工程,创建工程时需一同创建activity。
2、随工程创建的MainActivity类会重写onCreate和onCreateOptionsMenu方法。
3、重写onOptionsItemSelected、onOptionsMenuClosed、onPrepareOptionsMenu方法,代码如下:
package com.example.testapp.activity;
import com.example.testapp.R;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(this, "onCreate", Toast.LENGTH_SHORT).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE, Menu.FIRST+1, 1, "菜单一");
menu.add(Menu.NONE, Menu.FIRST+2, 2, "菜单二");
menu.add(Menu.NONE, Menu.FIRST+3, 3, "菜单三");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case Menu.FIRST+1:
Toast.makeText(this, "菜单一被点击了", Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+2:
Toast.makeText(this, "菜单二被点击了", Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST+3:
Toast.makeText(this, "菜单三被点击了", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return false;
}
@Override
public void onOptionsMenuClosed(Menu menu){
Toast.makeText(this, "菜单被关闭了", Toast.LENGTH_SHORT).show();
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
Toast.makeText(this,"选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单",Toast.LENGTH_SHORT).show();
//例如:menu.removeItem(Menu.FIRST+2);
// 如果返回false,此方法就把用户点击menu的动作给消费了,onCreateOptionsMenu方法将不会被调用
return true;
}
}
现在运行下项目,测试下菜单就可以看到效果了。
分享到:
相关推荐
【第一部分】历史文章: ...Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 Android学习笔记(六)——自定义ListView布局+AsyncTask异步任务 Android学习笔记(七)——数据存储(共享参数Share
上下文菜单和上下文操作模式都是Android中增强用户体验的重要工具,它们可以根据应用的需求灵活地提供针对特定内容的操作选项。理解并熟练运用这些菜单类型,可以帮助开发者创建更加直观和功能丰富的用户界面。
这篇“Android学习笔记”主要探讨了如何在模拟器中旋转屏幕方向、实现应用全屏显示以及理解窗口生命周期。这些概念对于创建用户友好且性能优良的Android应用程序至关重要。 首先,让我们详细讨论如何在Android...
总之,通过阅读和理解这篇“Android Training学习笔记——Navigation 参考源码(ListView版)”,开发者可以获得关于如何在Android应用中创建基于ListView的导航系统的宝贵经验。源码分析将加深对Navigation组件和...
这篇文章是基于“Android Training”系列的学习笔记,主要探讨了App Bar的设计原理和参考源码分析。下面将详细阐述App Bar的相关知识点。 首先,App Bar是Android设计指南中推荐的用户界面元素,它位于屏幕顶部,...
本学习笔记旨在帮助开发者全面掌握Cocos2d-x的C++ API以及游戏项目的开发流程。 一、Cocos2d-x框架基础 Cocos2d-x是Cocos2d-x系列的C++版本,它提供了丰富的图形绘制、动画制作、音频播放、物理引擎等功能。Cocos2d...
本篇文章将深入探讨`NavigationView`与`Navigation`组件的使用,结合Android Training的学习笔记,我们将理解其核心概念、功能以及如何在实践中应用。 `NavigationView`是Android Design Support Library的一部分,...
Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 Android学习笔记(六)——自定义ListView布局+AsyncTask异步任务 Android学习笔记(七)——数据存储(共享参数SharedPreferences) Android学习笔记...
Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。 随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能。 创建3种基本的菜单 ...
【第一部分】历史文章: ...Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 Android学习笔记(六)——自定义ListView布局+AsyncTask异步任务 Android学习笔记(七)——数据存储(共享参数Share
### Android学习笔记——从HelloWorld开始 #### 一、Google的Android SDK介绍 自从Google发布了Android SDK以来,这款开源移动操作系统迅速吸引了众多开发者的关注。Android SDK为开发者提供了丰富的工具和API,...
标题中的“2011.09.23——— android sample之Notepad(context menu)”表明这是一个关于Android应用开发的示例项目,具体是针对Notepad应用的上下文菜单(Context Menu)功能的实践。在Android开发中,上下文菜单是...
【标题】"Android应用源码小米系列之小米便签.zip"揭示了本次讨论的核心内容——对小米公司开发的安卓应用“小米便签”的源代码分析。这个标题表明我们将深入探讨这款应用的内部机制,理解其如何在Android平台上实现...