Android用户界面程序设计示例
- 格式:doc
- 大小:684.50 KB
- 文档页数:42
MAUI是一个多平台应用程序开发框架,旨在使用单个C#代码库为Android、iOS、macOS和Windows等多个平台开发应用程序。
下面是一个简单的MAUI应用程序示例:
1. 创建新项目:打开Visual Studio,选择“创建新项目”,在模板中选择“跨平台应用程序”->“MAUI应用”。
2. 添加页面:在解决方案资源管理器中,右键单击项目并选择“添加”->“新建项”,创建一个新的页面(例如“MainPage.xaml”)。
3. 设计界面:在XAML文件中,使用MAUI控件(如StackLayout、Button等)设计界面。
4. 添加代码逻辑:在代码文件(例如“MainPage.xaml.cs”)中,编写代码逻辑来响应用户的操作。
5. 运行应用程序:在Visual Studio中,选择“调试”->“启动调试”,或按F5键运行应用程序。
以上是一个简单的MAUI应用程序示例,您可以根据自己的需求和想法进行扩展和修改。
MAUI还提供了许多其他功能和控件,可以帮助您快速构建功能强大的多平台应用程序。
一、介绍badgedrawable的概念badgedrawable是一种Android图形界面(GUI)元素,用于在应用程序图标或其他视图元素上方标示数字或其他标志。
它可以方便地用于显示未读消息、提醒、通知等信息。
在用户界面设计中,badgedrawable可以提高用户对未读消息或其他重要信息的关注度。
二、badgedrawable的使用方法1.在xml布局文件中使用badgedrawable可以在布局文件中直接使用badgedrawable,例如:```xml<RelativeLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"><ImageViewandroid:id="+id/imageView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="drawable/app_icon" /><TextViewandroid:id="+id/badgeTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignRight="id/imageView"android:layout_alignTop="id/imageView"android:background="drawable/badge_background"android:padding="4dp"android:text="3"android:textColor="android:color/white" /></RelativeLayout>```在以上示例中,badgeTextView即为badgedrawable,它被放置在app_icon图标的右上角,显示数字3。
Android应用程序设计报告学院:信息工程与自动化学院专业:通信工程班级:姓名:学号:日期:2014年7月8日一、背景介绍随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows?Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。
经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。
随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
Google为此于2007年11月推出了一个专为移动设备设计的软件平台——Android。
?Android是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。
Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。
Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。
因此,它具有很大的市场发展潜力。
二、需求分析如今,伴随着Google Android操作系统的盛行,基于Android SDK的系统开发和基于Android应用的开发等已倍受大家关注。
Android应用面向的是普通个体用户,这些用户往往会更加关注用户体验,因此Android应用增加多媒体功能十分必要。
就目前的手机发展趋势来看,手机已经不再是单一的通讯工具,更多的手机用户希望在工作、学习之余通过方便灵巧可随身携带的仪器休闲娱乐。
而且近年来,由于人们生活水平的提高,越来越多的人开始关注人体健康,而体重也成为了人们关注的重点,尤其是女性。
因此为了迎合众多用户的需求并适应现在的手机的规模,我们提出了一个计算标准体重的设计。
在Android Studio中开发一个简单的日历应用一、引言随着智能手机的普及,日历应用成为人们生活中必不可少的工具之一。
本文将介绍如何使用Android Studio开发一个简单的日历应用程序,以便用户可以方便地管理和查看日程安排。
二、准备工作在开始开发之前,我们需要准备以下工作:1. 安装Android Studio:Android Studio是一个专业的Android开发工具,可以轻松创建和调试Android应用程序。
2. 下载日历API:为了实现日历功能,我们需要使用Android提供的日历API。
我们可以在Android Studio的SDK Manager中下载安装。
三、创建项目打开Android Studio,按照以下步骤创建一个新项目:1. 点击“Start a new Android Studio project”。
2. 设定应用的名称和包名。
3. 选择最低支持的Android版本。
4. 选择一个Empty Activity作为启动器活动。
5. 点击“Finish”完成项目创建。
四、实现日历功能在MainActivity.java文件中,我们将实现日历应用的核心功能。
以下是实现步骤:1. 初始化日历组件:在onCreate方法中,我们首先需要初始化日历组件。
通过调用Calendar.getInstance()方法,我们可以获取一个日历实例。
2. 显示当前日期:通过调用日历实例的get方法,我们可以获取当前的年、月、日。
然后将其显示在界面上。
3. 添加日程:通过使用日历API,我们可以在日历中添加新的日程安排。
用户只需点击界面上的“添加事件”按钮,然后输入日期和事件信息即可。
4. 查看日程:通过调用日历API的查询方法,我们可以获取指定日期的所有日程安排。
用户只需选择日期,然后点击界面上的“查看事件”按钮,即可显示该日期的所有日程。
五、界面设计在activity_main.xml文件中,我们可以进行界面设计。
material design dialog的用法Material Design 是由Google 推出的一套全面的设计指南,旨在统一Android、iOS 和Web 应用程序的用户界面和交互体验。
其中的Dialog 组件是一种常用的浮动窗口,可以用于显示重要的信息、询问用户意见或执行某些操作。
下面将一步一步回答有关Material Design Dialog 的用法,并介绍如何在应用程序中正确地使用它。
第一步:导入Material Design 组件库Dialog 组件属于Material Design 的一部分,因此首先需要在项目中导入Material Design 组件库。
可以通过在build.gradle 文件中添加以下依赖关系来完成此操作:gradleimplementation 'com.google.android.material:material:1.5.0'第二步:创建Dialog 实例在需要使用Dialog 的地方,首先需要创建Dialog 的实例。
可以使用AlertDialog 或BottomSheetDialog 来创建不同类型的Dialog。
以下是一个创建AlertDialog 的示例:javaAlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("提示");builder.setMessage("确定要删除此项吗?");builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Overridepublic void onClick(DialogInterface dialog, int which) {确定按钮的点击事件}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {取消按钮的点击事件}});AlertDialog dialog = builder.create();第三步:设置Dialog 属性创建好Dialog 的实例后,还可以设置其他属性,如标题、消息、按钮等。
Android App 技术方案1. 引言本文档旨在为开发 Android 应用程序提供一个技术方案。
在本文中,我们将讨论开发 Android 应用程序的一些关键技术,包括开发环境的搭建、架构设计、用户界面设计、数据存储和网络通信等方面。
2. 开发环境在开发 Android 应用程序之前,我们需要准备一个合适的开发环境。
以下是一些必要的工具和软件:•Android Studio:Android 开发的官方集成开发环境(IDE)。
•Java Development Kit(JDK):Android 应用程序的开发语言是 Java,因此需要安装 JDK。
•Android 调试桥(ADB):用于在设备和开发机之间进行调试和通信。
•设备或模拟器:用于在开发中测试应用程序。
3. 架构设计良好的架构设计是开发高质量 Android 应用程序的关键。
以下是一些常用的架构模式:•Model-View-Controller(MVC):将应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分,实现数据逻辑和用户界面的分离。
•Model-View-Presenter(MVP):类似于 MVC,但引入了一个表示器(Presenter)来处理视图与模型之间的通信。
•Model-View-ViewModel(MVVM):将视图与模型之间的通信通过一个视图模型(ViewModel)进行处理,实现解耦。
选择适合项目需求的架构模式,并合理分层,可以提高代码的可读性和可维护性。
4. 用户界面设计用户界面是用户与应用程序交互的重要部分。
以下是一些用户界面设计的准则:•Material Design:Google 推出的一种用户界面设计风格,具有简洁、平面和响应式的特点,可增强用户体验。
•响应式布局:根据不同屏幕尺寸和方向自适应调整布局,确保应用程序在各种设备上都能正常显示。
•可访问性:考虑到不同用户的需求,确保应用程序对残障用户也能提供友好的体验。
View Design 是 Android Studio 中用于查看和设计用户界面的工具。
通过 View Design,开发人员可以在设计视图中查看和调整界面元素,以便在编写代码之前预览应用程序的用户界面。
View Design 的使用方法如下:
1.打开 Android Studio,创建一个新的 Android 项目或打开一个现有项目。
2.在项目导航器中,找到要查看的布局文件(通常是 XML 文件)。
3.右键单击布局文件,选择“Open in Design View”。
4.在 Design View 中,可以看到应用程序界面的预览。
您可以使用工具栏上
的控件和属性面板来添加、删除或修改界面元素。
5.在属性面板中,您可以设置元素的属性,例如文本、颜色、大小等。
6.调整界面元素的位置和大小,以使其符合您的设计要求。
7.完成设计后,您可以关闭 Design View 并返回到代码编辑器中继续编写代
码。
使用 View Design 可以帮助开发人员快速创建和调整用户界面,从而减少在编写代码时出现错误的可能性。
此外,View Design 还支持实时预览,使您可以在更改界面元素时立即看到更改的效果。
因此,View Design 是 Android 开发人员不可或缺的工具之一。
Android用户界面程序设计示例[例1]按钮和Toast弹出对话框 (1)[例2] TextView文本框(1) (4)[例3]TextView文本框(2) (5)[例4]编辑框EditText (6)[例5]单选RadioButton (12)[例6]Toast的用法简介 (14)[例7]多选checkbox (18)[例8]菜单Menu (20)[例9]Dialog对话框 (22)[例10]图片视图ImageView (25)[例11]图片按钮ImageButton (27)界面布局 (31)[例12]垂直线性布局 (31)[例13]水平线性布局 (33)[例14]相对布局 (34)绝对布局 (35)[例15]表单布局 (35)[例16]切换卡(TabWidget)40[例1]按钮和Toast弹出对话框1、设计界面如图所示:2、布局文件:<TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"/><Buttonandroid:id="@+id/ok"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="OK"/>3、Activity界面程序:public class Activity01 extends Activity {public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);// 获得Button对象Button button_ok = (Button) findViewById(R.id.ok);// 设置Button控件监听器button_ok.setOnClickListener(new Button.OnClickListener() {public void onClick(View v) {// 这里处理事件//DisplayToast("点击了OK按钮");Toast.makeText(this, ("点击了OK按钮", Toast.LENGTH_SHORT).show();}});}public void DisplayToast(String str) {Toast.makeText(this, str, Toast.LENGTH_SHORT).show();}/* 按键按下所触发的事件*/public boolean onKeyDown(int keyCode, KeyEvent event) {switch (keyCode) {case KeyEvent.KEYCODE_DPAD_CENTER:DisplayToast("按下:中键");break;case KeyEvent.KEYCODE_DPAD_UP:DisplayToast("按下:上方向键");break;case KeyEvent.KEYCODE_DPAD_DOWN:DisplayToast("按下:下方向键");break;case KeyEvent.KEYCODE_DPAD_LEFT:DisplayToast("按下:左方向键");break;case KeyEvent.KEYCODE_DPAD_RIGHT:DisplayToast("按下:右方向键");break;}return super.onKeyDown(keyCode, event);}/* 按键弹起所触发的事件*/public boolean onKeyUp(int keyCode, KeyEvent event) {switch (keyCode) {case KeyEvent.KEYCODE_DPAD_CENTER:DisplayToast("弹起:中键");break;case KeyEvent.KEYCODE_DPAD_UP:DisplayToast("弹起:上方向键");break;case KeyEvent.KEYCODE_DPAD_DOWN:DisplayToast("弹起:下方向键");break;case KeyEvent.KEYCODE_DPAD_LEFT:DisplayToast("弹起:左方向键");break;case KeyEvent.KEYCODE_DPAD_RIGHT:DisplayToast("弹起:右方向键");break;}return super.onKeyUp(keyCode, event);}[例2]TextView(1)1、设计界面如图所示:2、布局文件:<TextViewandroid:id="@+id/textview"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"/>3、Activity界面程序的核心语句:textview = (TextView)this.findViewById(R.id.textview);String string = "TextView示例,wangzhiguo";/* 设置文本的颜色 */textview.setTextColor(Color.RED);/* 设置字体大小 */textview.setTextSize(20);/* 设置文字背景 */textview.setBackgroundColor(Color.BLUE);/* 设置TextView显示的文字 */textview.setText(string);[例3]TextView(2)1、设计界面(略)2、布局文件:<TextViewandroid:id="@+id/textview"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"android:background="#FFFFFF"android:textColor="#000000"android:textSize="20px"/>其他一些属性android:textColor="#ff0000"android:textSize="24sp"android:textStyle="bold"3、Activity界面程序的核心语句:setContentView(yout.main);//设置内容显示的xml布局文件TextView textView=(TextView)findViewById(R.id.text_view);//取得TextView组件textView.setTextColor(Color.RED);//设置成红色textView.setTextSize(PLEX_UNIT_SP, 24f);//设置成24sp textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));//加粗android:autoLink="web"android:autoLink="phone"android:autoLink="all"实现跑马灯效果<TextViewandroid:id="@+id/text_view"1.android:autoLink="all"2.android:layout_width="fill_parent"3.android:layout_height="wrap_content"4.android:text="@string/hello"5.android:ellipsize="marquee"6.android:focusable="true"7.android:marqueeRepeatLimit="marquee_forever"8.android:focusableInTouchMode="true"9.android:singleLine="true"10. android:scrollHorizontally="true"/>11.</LinearLayout>[例4]编辑框EditText1、设计界面如图所示:2、布局文件:<string name="hello">文本框中内容是</string><string name="message">请输入账号</string><string name="app_name">EditText_wangzhiguo</string><TextViewandroid:id="@+id/TextView01"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"/><EditTextandroid:id="@+id/EditText01"android:layout_width="fill_parent"android:layout_height="wrap_content"android:textSize="18sp"android:layout_x="29px"android:hint="@string/message"android:layout_y="33px"/>3、Activity界面程序的核心语句:super.onCreate(savedInstanceState);setContentView(yout.main);m_TextView = (TextView) findViewById(R.id.TextView01);m_EditText = (EditText) findViewById(R.id.EditText01);m_TextView.setTextSize(20);/*** 设置当m_EditText中为空时提示的内容在XML中同样可以实现:android:hint="请输入账号"*/// m_EditText.setHint("请输入账号");/* 设置EditText事件监听 */m_EditText.setOnKeyListener(new EditText.OnKeyListener() { @Overridepublic boolean onKey(View arg0, int arg1, KeyEvent arg2) { // 得到文字,将其显示到TextView中m_TextView.setText(Activity01.this.getString(R.string.hello) +m_EditText.getText().toString());return false;}});补充:关于EditText的一些细节操作android:hint="请输入用户名..." 提示属性android:textColorHint="#238745" 更改提示颜色android:enabled="false" 不可编辑android:lines=”10”通过设定行高,实现文本域功能android:maxLength="40" 最大内容长度android:password="true" 要求输入密码android:phoneNumber="true" 只能输入电话号码droid:numeric="signed"android:inputType="date" 指定输入类型android:imeOptions="actionSearch" Enter键图标设置1.actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.效果:2.actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE 效果:3.actionGo 去往,对应常量EditorInfo.IME_ACTION_GO 效果:4.actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH 效果:5.actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND 效果:6.actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT 效果:7.actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE 效果:课堂练习作业提示//监听EditText文本的回车键editText.setOnEditorActionListener(new OnEditorActionListener() {@Overridepublic boolean onEditorAction(TextView v, int actionId, KeyEvent event) {Toast.makeText(HelloEditText.this, String.valueOf(actionId), Toast.LENGTH_SHORT).show();return false;}});//获取EditText文本public void onClick(View v) {Toast.makeText(HelloEditText.this, editText.getText() .toString(), Toast.LENGTH_SHORT).show();Button all=(Button)findViewById(R.id.btn_all);all.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {editText.selectAll();}});//让EditText全选Button all=(Button)findViewById(R.id.btn_all);all.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {editText.selectAll();}});//从第2个字符开始选择EditText文本public void onClick(View v) {Editable editable=editText.getText();Selection.setSelection(editable, 1,editable.length());}public void onClick(View v) {int start=editText.getSelectionStart();int end=editText.getSelectionEnd();CharSequence selectText=editText.getText().subSequence(start, end);oast.makeText(HelloEditText.this, selectText, Toast.LENGTH_SHORT) .show();}/*** 交换两个变量的值* @param start 变量初值* @param end 变量终值*/protected void switchIndex(int start, int end) {int temp=start;start=end;end=temp;}[例5]单选RadioButton1、设计界面如图所示:2、布局文件:<resources><string name="hello">Android底层是基于什么操作系统?</string> <string name="app_name">单选RadioButton_wangzhiguo</string> <string name="RadioButton1">Windows</string><string name="RadioButton2">Linux</string><string name="RadioButton3">Moc os</string><string name="RadioButton4">Java</string></resources><TextViewandroid:id="@+id/TextView01"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"/><RadioGroupandroid:id="@+id/RadioGroup01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"android:layout_x="3px"android:layout_y="54px"><RadioButtonandroid:id="@+id/RadioButton1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/RadioButton1"/><RadioButtonandroid:id="@+id/RadioButton2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/RadioButton2"/><RadioButtonandroid:id="@+id/RadioButton3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/RadioButton3"/><RadioButtonandroid:id="@+id/RadioButton4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/RadioButton4"/></RadioGroup>3、Activity界面程序的核心语句:/*** 获得TextView对象获得RadioGroup对象获得4个RadioButton对象*/m_TextView = (TextView) findViewById(R.id.TextView01);m_RadioGroup = (RadioGroup) findViewById(R.id.RadioGroup01);m_Radio1 = (RadioButton) findViewById(R.id.RadioButton1);m_Radio2 = (RadioButton) findViewById(R.id.RadioButton2);m_Radio3 = (RadioButton) findViewById(R.id.RadioButton3);m_Radio4 = (RadioButton) findViewById(R.id.RadioButton4);/* 设置事件监听 */m_RadioGroup.setOnCheckedChangeListener(newRadioGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stubif (checkedId == m_Radio2.getId()) {DisplayToast("正确答案:" + m_Radio2.getText()+ ",恭喜你,回答正确!");} else {DisplayToast("请注意,回答错误!");}}});}/* 显示Toast */public void DisplayToast(String str) {Toast toast = Toast.makeText(this, str, Toast.LENGTH_LONG);// 设置toast显示的位置toast.setGravity(Gravity.TOP, 0, 220);// 显示该Toasttoast.show();}[例6]Toast的用法简介[例6_1] 弹出式提示框的默认样式1、设计界面如图所示:2、核心语句:Toast.makeText(getApplicationContext(), "默认Toast样式", Toast.LENGTH_SHORT).show();[例6_2] 自定义提示框显示位置1、设计界面如图所示:2、核心语句:toast = Toast.makeText(getApplicationContext(),"自定义位置Toast", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);toast.show();[例6_3]带图片提示框效果1、设计界面如图所示:2、核心语句:toast = Toast.makeText(getApplicationContext(),"带图片的Toast", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);LinearLayout toastView = (LinearLayout) toast.getView();ImageView imageCodeProject = new ImageView(getApplicationContext()); imageCodeProject.setImageResource(R.drawable.icon);toastView.addView(imageCodeProject, 0);toast.show();[例6_4]带图片的自定义提示框效果1、设计界面如图所示:2、核心语句:LayoutInflater inflater = getLayoutInflater();View layout = inflater.inflate(yout.custom,(ViewGroup) findViewById(R.id.llToast));ImageView image = (ImageView) layout.findViewById(ImageToast);image.setImageResource(R.drawable.icon);TextView title = (TextView) layout.findViewById(TitleToast); title.setText("Attention");TextView text = (TextView) layout.findViewById(TextToast); text.setText("完全自定义Toast");toast = new Toast(getApplicationContext());toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);toast.setDuration(Toast.LENGTH_LONG);toast.setView(layout);toast.show();[例6_5]其他线程1、设计界面如图所示:2、核心语句:new Thread(new Runnable() {public void run() {showToast();}}).start();[例7]多选checkbox1、设计界面如图所示:2、布局文件:<string name="hello">调查:你喜欢Android的原因?</string><string name="app_name">CheckBox_wangzhiguo</string><string name="CheckBox1">无界限的应用程序</string><string name="CheckBox2">应用程序是在平等的条件下创建的</string> <string name="CheckBox3">应用程序可以轻松地嵌入网络</string><string name="CheckBox4">应用程序可以并行运行</string><TextViewandroid:id="@+id/TextView1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"/><CheckBoxandroid:id="@+id/CheckBox1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/CheckBox1"></CheckBox><CheckBoxandroid:id="@+id/CheckBox4"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/CheckBox4"></CheckBox><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="提交"></Button>3、核心语句:m_CheckBox1.setOnCheckedChangeListener(newCheckBox.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if (m_CheckBox1.isChecked()) {DisplayToast("你选择了:" + m_CheckBox1.getText());}}});m_Button1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) {int num = 0;if (m_CheckBox1.isChecked()) {num++;}if (m_CheckBox2.isChecked()) {num++;}if (m_CheckBox3.isChecked()) {num++;}if (m_CheckBox4.isChecked()) {num++;}DisplayToast("谢谢参与!你一共选择了" + num + "项!");}});[例8] 菜单Menu1、设计界面如图所示:2、布局文件:<string name="hello">主界面,点击关于会跳到另一个界面!(Activity01)</string> <string name="hello2">关于\nAndroid Menu使用范例!(Activity02)</string> <string name="app_name">Menu_wangzhiguo</string><string name="ok">切换Activity</string><string name="back">返回</string>创建menu文件夹,其中放入menu.xml<menu xmlns:android="/apk/res/android"> <item android:id="@+id/about"android:title="关于"/><item android:id="@+id/exit"android:title="退出"/></menu>创建两个main.xml,两个activity,并且在AndroidManifest.xml中加入<activity android:name=".Activity02" ></activity>3、Activity界面程序的核心语句:启用菜单/* 创建menu */public boolean onCreateOptionsMenu(Menu menu) {MenuInflater inflater = getMenuInflater();// 设置menu界面为res/menu/menu.xmlinflater.inflate(R.menu.menu, menu);return true;}/* 处理菜单事件 */public boolean onOptionsItemSelected(MenuItem item) {// 得到当前选中的MenuItem的ID,int item_id = item.getItemId();switch (item_id) {case R.id.about:/* 新建一个Intent对象 */Intent intent = new Intent();/* 指定intent要启动的类 */intent.setClass(Activity01.this, Activity02.class);/* 启动一个新的Activity */startActivity(intent);/* 关闭当前的Activity */Activity01.this.finish();break;case R.id.exit:Activity01.this.finish();break;}return true;}启用菜单的另外一种方式public boolean onCreateOptionsMenu(Menu menu) { // 为menu添加内容menu.add(0, 0, 0, R.string.ok);menu.add(0, 1, 1, R.string.back);return true;}[例9] Dialog对话框1、设计界面如图所示:2、核心语句:Dialog dialog = new AlertDialog.Builder(this).setTitle("exit").setMessage("你确定退出程序吗").setNegativeButton("取消", new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) // Acitivity01.this.finish();Acitivity01.this.loginDialog().show();}}).setPositiveButton("ok", newDialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {pDialog= ProgressDialog.show(Acitivity01.this, "请稍等", "您正在登陆", true);new Thread(){public void run() {try {Thread.sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}pDialog.dismiss();};}.start();Acitivity01.this.finish();}}).create();dialog.show();public Dialog loginDialog(){L ayoutInflater factory = LayoutInflater.from(Acitivity01.this);V iew dialogView = factory.inflate(yout.dialog, null);D ialog dialog = null;A lertDialog.Builder builder = newAlertDialog.Builder(Acitivity01.this);b uilder.setTitle("this is a login view");b uilder.setView(dialogView);b uilder.setPositiveButton("ok", null);b uilder.setNegativeButton("cancel", null);d ialog = builder.create();r eturn dialog;}[例10] 图片视图ImageView1、设计界面如图所示:2、布局文件:<ImageViewandroid:id="@+id/ImageView01"android:layout_width="wrap_content"android:layout_height="wrap_content"></ImageView><TextViewandroid:id="@+id/TextView01"android:layout_below="@id/ImageView01"android:layout_width="wrap_content"android:layout_height="wrap_content">3、核心语句:// 获得ImageView的对象imageview = (ImageView) this.findViewById(R.id.ImageView01);textview = (TextView) this.findViewById(R.id.TextView01);// 设置imageview的图片资源。