`
simonhoo
  • 浏览: 70381 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android应用开发UI(菜单)

阅读更多

Android手机有一个"Menu"键,用来专门显示菜单,要实现菜单功能,需要通过onCreateOptionsMenu()来创建菜单,然后需要对其能够触发的事件进行监听,这样才能够在事件监听onOptionsItemSelected中根据不同的菜单选项来执行不同的任务。

添加菜单日有两种方式,一种是XAL布局,另一种是通过Menu.add()方法添加。

第一种,通过XML布局,在res下创建menu目录,在里面添加menu.xml文件,内容:

<?xml version="1.0" encoding="utf-8"?>
<menu
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:title="@string/about" android:id="@+id/about">
    </item>
    <item android:title="@string/exit" android:id="@+id/exit">
    </item>
</menu>

 

第二种,Menu.add(0,0,0,R.string.btn_name)方示添加:

@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		menu.add(0,0,0,R.string.ok);
		menu.add(0,0,0,R.string.back);
		return true;
	}

 

效果图:



 

 

 

代码:

1.res/values/string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="about_me">详细内容可登录http://www.80080088.com了解!</string>
    <string name="main_menu">这里演示的是Andrid菜单功能!</string>
    <string name="app_name">菜单</string>
    <string name="about">关于</string>
    <string name="exit">退出</string>
    <string name="ok">确定</string>
	<string name="back">返回</string>
</resources>

 

2.res/layout/main.xml和about.xml

main.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:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/main_menu"
    />
</LinearLayout>

 

about.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:layout_width="fill_parent" 
    android:layout_height="wrap_content" android:text="@string/about_me"/>
</LinearLayout>

 

3,res/menu/menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:title="@string/about" android:id="@+id/about">
    </item>
    <item android:title="@string/exit" android:id="@+id/exit">
    </item>
</menu>

 

4.A011Activity.java和AboutActivity.java

A011Activity.java

package com.cottsoft.android;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class A011Activity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.menu, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		int item_id = item.getItemId();
		switch (item_id) {
			case R.id.about:
				Intent intent = new Intent();
				intent.setClass(A011Activity.this, AboutActivity.class);
				startActivity(intent);
				A011Activity.this.finish();
				break;
			case R.id.exit:
				A011Activity.this.finish();
				break;
		}
		return true;
	}

}

 

AboutActivity.java

/**********************************************
  * @author  Simon Hoo (simon@cottsoft.com)
  * @contact QQ:9930323 MSN: simon_hoo@msn.com
  * @OnlineSupport: http://www.cottsoft.com
  * @Create  2011-4-4
  * @version V1.0
  ********************************************/
package com.cottsoft.android;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class AboutActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.about);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		menu.add(0,0,0,R.string.ok);
		menu.add(0,0,0,R.string.back);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		int item_id = item.getItemId();
		switch(item_id){
			case 0:
			case 1:
				Intent intent = new Intent();
				intent.setClass(AboutActivity.this, A011Activity.class);
				startActivity(intent);
				AboutActivity.this.finish();
				break;
		}
		return true;
	}

}

 

  • 大小: 65 KB
  • 大小: 66.3 KB
0
0
分享到:
评论

相关推荐

    Android应用开发案例教程 (毋建军、徐振东、林瀚 编著) pdf

    《高等学校计算机科学与技术项目驱动案例实践规划教材:Android应用开发案例教程》应用“项目驱动(Project-Driven)”最新教学模式,通过完整的项目案例系统地介绍了使用Android技术设计与开发应用系统的理论和方法...

    Android应用开发完全自学手册

    《Android应用开发完全自学手册》是一本全面介绍Android应用开发的指南,涵盖了从基础到进阶的各个环节。这本书旨在帮助初学者系统地学习并掌握Android应用的开发技能,通过源代码解析来提升实践能力。 第1章:...

    Android应用开发案例教程

    《Android应用开发案例教程(高等学校计算机科学与技术项目驱动案例实践规划教材)》编著者毋建军、徐振东、林瀚。, 《Android应用开发案例教程(高等学校计算机科学与技术项目驱动案例实践规划教材)》应用“项目驱动...

    Android程序研发源码Android ui开发类库示例源码.zip

    通过对GreenDroid的源码进行分析,开发者可以学习到如何设计和实现一个强大的UI框架,并可能从中获得灵感,为自己的应用开发带来新的思路和解决方案。 总之,"Android程序研发源码Android ui开发类库示例源码.zip...

    Android TabHost UI设计 菜单完美显示

    在Android应用开发中,UI设计是至关重要的,它直接影响到用户体验和应用的吸引力。本教程将专注于使用TabHost创建一个美观且功能完善的菜单系统。TabHost是Android SDK提供的一种组件,用于实现多标签页的界面布局,...

    《Android应用开发揭秘》附带光盘代码.

    《Android应用开发揭秘》全部实例源代码,配合《Android应用开发揭秘》使用 前言  第一部分 准备篇  第1章 Android开发简介  1.1 Android基本概念  1.1.1 Android简介  1.1.2 Android的系统构架  1.1.3 ...

    《Android应用开发揭秘》源码

     杨丰盛,Android应用开发先驱,对Android有深入研究,实战经验极其丰富。精通Java、C、C++等语言,专注于移动通信软件开发,在机顶盒软件开发和MTK平台软件开发方面有非常深厚的积累。2007年获得中国软件行业协会...

    Android UI控件组件库集合【源码】

    在Android开发中,UI设计是至关重要的一环,它直接影响到应用程序的用户体验。这个"Android UI控件组件库集合【源码】"提供了多种常用的UI控件及其源代码,旨在帮助开发者构建更加美观、功能丰富的应用界面。下面...

    android应用源码QQ_UI之分类菜单.zip

    【标题解析】 "android应用源码QQ_UI之分类菜单" 指的是一个与Android应用程序相关...总的来说,这份源码是一个宝贵的教育资源,可以帮助Android开发者深入了解QQ应用的UI设计思路,并提升自己的Android应用开发技能。

    Android开发UI实践

    ### Android开发UI实践 #### 一、Android UI开发概述 在Android开发中,用户界面(UI)设计是一项至关重要的任务。良好的UI不仅能够提升用户体验,还能显著提高应用程序的吸引力和市场竞争力。然而,对于很多...

    Android开发+UI组件+QQ侧滑菜单+项目实战示例:Android 超高仿 QQ5.0 侧滑菜单项目完整实例代码

    本资源包“Android开发+UI组件+QQ侧滑菜单+项目实战示例:Android 超高仿 QQ5.0 侧滑菜单项目完整实例代码”为Android开发者提供了一个详尽的实例,展示如何创建一个与QQ5.0版本中的侧滑菜单高度相似的用户界面。...

    Android应用开发入门教程(经典版).pdf

    以上内容概括了《Android应用开发入门教程》中的主要知识点,涵盖了Android开发的基础知识、开发环境搭建、应用程序构建及UI实现等方面。这些知识点对于初学者来说是非常重要的基础,掌握了这些内容后,就可以进一步...

    Android应用源码之QQ_UI之分类菜单DEMO-IT计算机-毕业设计.zip

    在Android应用开发中,QQ UI的设计与实现是一个常见的课题,特别是在毕业设计中,它能帮助学生深入理解Android界面设计和交互逻辑。这个"Android应用源码之QQ_UI之分类菜单DEMO"是一个很好的实践项目,它涵盖了多个...

    Android开发的UI图标大全

    在Android应用开发中,UI设计是至关重要的一个环节,它直接影响到用户对应用程序的第一印象和交互体验。"Android开发的UI图标大全"是一份专为Android开发者准备的资源集合,旨在帮助开发者快速找到并使用合适的图标...

    自定义下拉菜单界面仿systemui的下拉菜单

    自定义SystemUI中的下拉菜单是一项高级开发任务,尤其对于Android开发者来说。SystemUI是Android操作系统的一部分,负责显示状态栏、通知栏等用户界面元素。本文旨在提供一种方法,通过自定义的方式来模仿并实现...

    Android---UI篇---Menu(菜单)

    Options Menu是Android应用程序中最常见的菜单类型,通常在屏幕的顶部或底部(取决于设备和Android版本)显示一个汉堡图标,点击后展开。它包含了与全局应用功能相关的选项,比如设置、帮助、关于等。开发者可以在`...

    android应用源码QQ_UI之分类菜单.zip源码资源下载

    在本资源中,我们主要探讨的是一个Android应用的源码,该源码是关于QQ...通过深入研究这个项目,你不仅可以提升Android应用开发技能,还能了解到如何构建类似QQ应用的分类菜单,这对于提升自己的项目实战能力大有裨益。

Global site tag (gtag.js) - Google Analytics