`
yangmeng_3331
  • 浏览: 91716 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

android学习笔记——菜单应用

阅读更多
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学习笔记(十)——实现新闻列表

    【第一部分】历史文章: ...Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 Android学习笔记(六)——自定义ListView布局+AsyncTask异步任务 Android学习笔记(七)——数据存储(共享参数Share

    Android学习笔记——Menu介绍(二)

    上下文菜单和上下文操作模式都是Android中增强用户体验的重要工具,它们可以根据应用的需求灵活地提供针对特定内容的操作选项。理解并熟练运用这些菜单类型,可以帮助开发者创建更加直观和功能丰富的用户界面。

    Android 学习笔记——旋转模拟器方向,全屏,窗口生命周期

    这篇“Android学习笔记”主要探讨了如何在模拟器中旋转屏幕方向、实现应用全屏显示以及理解窗口生命周期。这些概念对于创建用户友好且性能优良的Android应用程序至关重要。 首先,让我们详细讨论如何在Android...

    Android Training学习笔记——Navigation 参考源码(ListView版)

    总之,通过阅读和理解这篇“Android Training学习笔记——Navigation 参考源码(ListView版)”,开发者可以获得关于如何在Android应用中创建基于ListView的导航系统的宝贵经验。源码分析将加深对Navigation组件和...

    Android Training学习笔记——App Bar 参考源码

    这篇文章是基于“Android Training”系列的学习笔记,主要探讨了App Bar的设计原理和参考源码分析。下面将详细阐述App Bar的相关知识点。 首先,App Bar是Android设计指南中推荐的用户界面元素,它位于屏幕顶部,...

    Cocos2d-x学习笔记——完全掌握C++ API与游戏项目开发.zip

    本学习笔记旨在帮助开发者全面掌握Cocos2d-x的C++ API以及游戏项目的开发流程。 一、Cocos2d-x框架基础 Cocos2d-x是Cocos2d-x系列的C++版本,它提供了丰富的图形绘制、动画制作、音频播放、物理引擎等功能。Cocos2d...

    Android Training学习笔记——Navigation 参考源码(NavigationView版)

    本篇文章将深入探讨`NavigationView`与`Navigation`组件的使用,结合Android Training的学习笔记,我们将理解其核心概念、功能以及如何在实践中应用。 `NavigationView`是Android Design Support Library的一部分,...

    【安卓项目】——新闻资讯类项目

    Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 Android学习笔记(六)——自定义ListView布局+AsyncTask异步任务 Android学习笔记(七)——数据存储(共享参数SharedPreferences) Android学习笔记...

    Android学习笔记——Menu介绍(一)

    Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。 随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能。     创建3种基本的菜单 ...

    Android学习笔记(十二)——数据存储(SQLite数据库)

    【第一部分】历史文章: ...Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 Android学习笔记(六)——自定义ListView布局+AsyncTask异步任务 Android学习笔记(七)——数据存储(共享参数Share

    Android_学习笔记

    ### Android学习笔记——从HelloWorld开始 #### 一、Google的Android SDK介绍 自从Google发布了Android SDK以来,这款开源移动操作系统迅速吸引了众多开发者的关注。Android SDK为开发者提供了丰富的工具和API,...

    2011.09.23——— android sample之Notepad(context menu)

    标题中的“2011.09.23——— android sample之Notepad(context menu)”表明这是一个关于Android应用开发的示例项目,具体是针对Notepad应用的上下文菜单(Context Menu)功能的实践。在Android开发中,上下文菜单是...

    Android应用源码小米系列之小米便签.zip

    【标题】"Android应用源码小米系列之小米便签.zip"揭示了本次讨论的核心内容——对小米公司开发的安卓应用“小米便签”的源代码分析。这个标题表明我们将深入探讨这款应用的内部机制,理解其如何在Android平台上实现...

Global site tag (gtag.js) - Google Analytics