`
byandby
  • 浏览: 1696350 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 菜单例子

阅读更多
     也没什么了  就是一个 android菜单的 小例子 实现步骤如下:
     (1)创建一个包含文本视图的XML布局文件。
     (2)创建一个Activity类,其中包含在第一步中定义的布局。
     (3)设置菜单
     (4)向菜单添加一些常规菜单项
     (5)向菜单添加一些辅助菜单项
     (6)响应菜单项
     (7)修改 AndroidManifest.xml文件,以显示应用程序正确的标题
  
   布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
	android:id="@+id/textViewId"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="Debugging Scratch Pad"
    />
</LinearLayout>


    Activity类
package xiaohang.zhimeng;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class SampleMenusActivity extends Activity {
	
	Menu myMenu = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    //重写onCreateOptionsMenu 并以编程方式设置菜单
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    	// call the parent to attach any system level menus
    	 super.onCreateOptionsMenu(menu);
    	 this.myMenu = menu;
    	 
    	 //add a few normal menus
    	 addRegularMenuItems(menu);
    	 
    	 //add a few secondary menus
    	 add5SecondaryMenuItems(menu);
    	 
    	 //it must return true to show the menu
    	 //if it is false menu won't show
    	 return true;
    	
    }
    
    //添加常规菜单项
    private void addRegularMenuItems(Menu menu){
    	int base = Menu.FIRST; // value is 1
    	
    	menu.add(base, base, base, "append");
    	menu.add(base, base+1, base+1, "item 2");
    	menu.add(base, base+2, base+2, "clear");
    	
    	menu.add(base, base+3, base+3, "hide secondary");
    	menu.add(base, base+4, base+4, "show secondary");
    	
    	menu.add(base, base+5, base+5, "enable secondary");
    	menu.add(base, base+6, base+6, "disable secondary");
    	
    	menu.add(base, base+7, base+7, "check secondary");
    	menu.add(base, base+8, base+8, "uncheck secondary");
    }
    
    //添加辅助菜单项
    private void add5SecondaryMenuItems(Menu menu){
    	//Secondary items are shown just like everything else
    	int base=Menu.CATEGORY_SECONDARY;
    	
    	menu.add(base, base+1, base+1, "sec. item 1");
    	menu.add(base, base+2, base+2, "sec. item 2");
    	menu.add(base, base+3, base+3, "sec. item 3");
    	menu.add(base, base+4, base+4, "sec. item 4");
    	menu.add(base, base+5, base+5, "sec. item 5");
    	
    }
    
    //响应菜单项单击
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    	if (item.getItemId() == 1) {
			appendText("\nhello");
		}
    	else if (item.getItemId() ==2) {
			appendText("\nitem2");
		}
    	else if (item.getItemId() == 3) {
			emptyText();
		}
    	else if (item.getItemId() ==4) {
			//hide secondary
    		this.appendMenuItemText(item);
    		this.myMenu.setGroupVisible(Menu.CATEGORY_SECONDARY, false);
		}
    	else if(item.getItemId() == 5){
    		//show secondary
    		this.appendMenuItemText(item);
    		this.myMenu.setGroupVisible(Menu.CATEGORY_SECONDARY, true);
    	}
    	else if (item.getItemId() == 6) {
			//enable secondary
    		this.appendMenuItemText(item);
    		this.myMenu.setGroupEnabled(Menu.CATEGORY_SECONDARY, true);
		}
    	else if(item.getItemId() == 7){
    		//disable secondary
    		this.appendMenuItemText(item);
    		this.myMenu.setGroupEnabled(Menu.CATEGORY_SECONDARY, false);
    	}
    	else if (item.getItemId() == 8) {
			//check secondary
    		this.appendMenuItemText(item);
    		myMenu.setGroupCheckable(Menu.CATEGORY_SECONDARY, true, false);
		}
    	else if (item.getItemId() == 9) {
			//uncheck secondary
    		this.appendMenuItemText(item);
    		myMenu.setGroupCheckable(Menu.CATEGORY_SECONDARY, false, false);
		}
    	else {
			this.appendMenuItemText(item);
		}
    	//should return true if the menu item
    	//is handled
    	return true;
    	
    }
    
    
    //向调试TextView 写入数据的实用程序函数
    //Given  a string of text append it to the TextView
    private void appendText(String text){
    	TextView tv = (TextView)this.findViewById(R.id.textViewId);
    	tv.setText(tv.getText() + text);
    }
    
    //Given a menu item append its title to the TextView
    private void appendMenuItemText(MenuItem menuItem){
    	String title = menuItem.getTitle().toString();
    	TextView tv = (TextView)this.findViewById(R.id.textViewId);
    	tv.setText(tv.getText() + "\n" + title);
    }
    
    //Empty the TextView of its contents
    private void emptyText(){
    	TextView tv = (TextView)this.findViewById(R.id.textViewId);
    	tv.setText("");
    }
}


   AndroidManifest.xml文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="xiaohang.zhimeng"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".SampleMenusActivity"
                  android:label="Sample Menus Application">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-sdk android:minSdkVersion="9" />

</manifest> 


    运行效果如下






   源码附件 
  • 大小: 34.4 KB
  • 大小: 40.6 KB
分享到:
评论

相关推荐

    Android 酷炫侧滑菜单Demo例子

    在本示例中,“Android 酷炫侧滑菜单Demo例子”旨在展示如何实现一个具有吸引人视觉效果和良好交互性的侧滑菜单。 1. **SlidingMenu库** 这个Demo可能使用了`SlidingMenu`库,这是一个流行的选择,用于在Android...

    Android 使用 XML 菜单例子

    首先,我们需要了解Android菜单的基本结构。在Android中,菜单通常分为三个级别:Options Menu(选项菜单)、Context Menu(上下文菜单)和PopupMenu(弹出菜单)。我们主要关注Options Menu,这是用户在屏幕顶部...

    Android例子源码各种常见菜单集合框架例子源码.zip

    这个名为"Android例子源码各种常见菜单集合框架例子源码.zip"的压缩包提供了一个全面的Android UI框架源码示例,它包含了多种常见的菜单实现,包括底部导航菜单、顶部导航栏、仿微信右上角弹出菜单以及右划个人中心...

    android下拉菜单例子

    在Android开发中,下拉菜单(Spinner)是一种常见的UI组件,...通过研究这个例子,你可以更好地理解如何在实际项目中集成和定制Android的下拉菜单功能。记得解压文件并导入Android Studio进行实践,以加深理解和掌握。

    android 侧滑菜单-实例代码

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

    android slidingmenu滑动菜单例子

    这个名为“slidingmenu例子”的压缩包很可能包含了实现上述功能的完整Android项目,包括源代码、资源文件以及必要的配置。通过研究这些文件,你可以更深入地了解如何在自己的项目中实现滑动菜单。 在实际开发中,你...

    Android与XML编写菜单的例子.rar

    本示例主要关注如何使用XML和Java来编写Android应用程序中的菜单。让我们深入探讨一下这个话题。 首先,XML在Android中用于定义布局文件,这些文件描述了屏幕上的各种组件,如按钮、文本视图和菜单项。XML的结构化...

    Android仿美团外卖菜单界面

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

    android开发菜单实现

    首先,我们来了解一下Android菜单的基本结构。在Android中,菜单通常分为三种类型:选项菜单(Option Menu)、上下文菜单(Context Menu)和弹出式菜单(Popup Menu)。在这个场景中,我们关注的是选项菜单,它在...

    Android例子源码各种常见菜单集合框架例子源码.rar

    首先,让我们关注Android菜单。在Android应用中,菜单主要分为三种类型:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和弹出式菜单(PopupMenu)。选项菜单通常出现在屏幕顶部的三道横线(汉堡菜单)中,...

    Android 双侧滑菜单例子(主页和菜单都会滑动)

    综上所述,这个“Android 双侧滑菜单例子”涉及了Android布局设计、触摸事件处理、动画效果实现等多个技术点。开发者需要对Android框架有深入理解,才能创建出流畅、用户体验良好的双侧滑菜单。在实际开发中,可以...

    android menu菜单距中显示

    综上所述,`android menu菜单距中显示`涉及到Android菜单的创建、样式定制以及事件处理等方面的知识。通过理解这些概念并结合实际代码实践,开发者可以灵活地调整菜单的布局和行为,从而提供更加友好的用户体验。

    Android例子源码通过滑动控制的左右缩放菜单

    在Android开发中,滑动控制的左右缩放菜单是一种常见的交互设计,它为用户提供了一种直观、便捷的方式来浏览和操作应用的不同功能。本项目提供的源码示例将深入解析这一功能的实现,帮助开发者理解如何在自己的应用...

    Android代码-新手侧滑菜单例子.rar

    标题中的“Android代码-新手侧滑菜单例子.rar”表明这是一个针对Android开发的教程,特别适合初学者,重点在于实现侧滑菜单的功能。侧滑菜单在移动应用中非常常见,它通常隐藏在屏幕边缘,用户向屏幕中心滑动时会...

    Android例子源码各种常见菜单集合框架例子源码(含eclipse和android studio 两个版本).zip

    标题中的“Android例子源码各种常见菜单集合框架例子源码”揭示了这是一个关于Android应用程序开发的资源包,其中包含了各种菜单和框架的示例代码。这些示例代码可以帮助开发者理解和学习如何在Android平台上构建...

    android应用例子

    【Android应用例子】深入解析 在移动开发领域,Android占据着重要的地位,为开发者提供了丰富的功能和自由度来创建各种应用程序。本示例项目聚焦于Android应用开发的关键方面,包括用户界面设计、地理位置服务集成...

    ANDROID 小例子

    2. **GridView**:GridView是Android UI组件之一,它允许以网格形式展示数据,通常用于创建类似相册或菜单的界面。自定义GridView意味着开发者可能已经扩展了默认的GridView类,添加了特殊的功能或者定制了布局和...

    Android卫星菜单的实现

    在这个卫星菜单的例子中,我们可能会看到一个自定义的ViewGroup,其中包含了多个子View(每个子View代表一个菜单项),并且这些子View的位置和动画效果都是通过自定义代码控制的。 接着,我们需要关注的是动画部分...

    androidUI典型例子

    这个"androidUI典型例子"是基于模仿奇艺客户端,旨在帮助开发者掌握Android UI设计的基本原则和技巧。下面,我们将深入探讨这个主题,并结合"qiyi_UIPlayHD"这个压缩包中的文件,解析相关的知识点。 1. **布局管理...

Global site tag (gtag.js) - Google Analytics