简单!
全部博文(366)
分类: 嵌入式
2012-09-30 12:07:48
Android应用中的菜单条默认是看不见的,只有当用户单击手机上的“MENU”键,系统才会显示该应用关联的菜单。Android应用同样支持上下文菜单(ContextMenu),当用户一直按住某个应用的界面时,该应用所关联上下文菜单就显示出来。Android提供了两种创建菜单的方法,一种是在java代码中创建,一种是使用XML资源文件定义,一般推荐使用XML资源文件来定义菜单,这种方式可以提供更好的解耦。
1、选项菜单和子菜单(SubMenu)
add()方法用于添加菜单项,addSubMenu()用于添加子菜单。
添加菜单或子菜单的步骤如下:
a、重写Activity的哦那onCreateOptionsMenu(Menu menu)方法,在该方法里调用Menu对象的方法来添加菜单项或子菜单。
b、如果希望应用程序能响应菜单项的单击事件,重写Activity的onOptionItemSelected(MenuItem mi)方法即可。
2、设置与菜单项关联的Activity
有些时候,应用程序单击某个菜单项时要启动其它Activity(包括其它Service),只需要调用MenuItem的 setIntent(Intent intent)方法即可---该方法把该菜单项与指定Intent关联到一起,当点击该菜单项时,该Intent所代表的组件将会被启动。
3、上下文菜单(ContextMenu)
开发上下文菜单的步骤如下:
a、重写Activity的onCreateContextMenu(ContextMenu menu,View source,ContextMenu.Context MenuInfo menuInfo)
b、调用Activity的registerForContextMenu(View view)方法为view组件注册上下文菜单
c、如果希望应用程序能为菜单项提供响应,可以考虑重写onContextItemSelected(MenuItem mi),或为指定菜单项绑定事件监听器
二、对话框
1、AlertDialog对话框
AlertDialog的功能很强大,它提供了一些方法来生成4中预定义对话框:
a、带消息、带N个按钮的提示对话框
b、带列表、带N个按钮的列表对话框
c、带多个单选列表项,带N个按钮的对话框
d、带多个多选列表项,带N个按钮的对话框
除此之外,AlertDialog也可以创建界面自定义的对话框。
使用AlertDialog创建对话框大致按如下步骤进行:
a、创建AlertDialog.Builder对象,该对象是AlertDialog的创建器
b、调用AlertDialog.Builder的方法为对话框设置图标、标题、内容等
c、调用AlertDialog.Builder的create()方法创建AlertDialog对话框
d、调用AlertDialog的show()方法显示对话框
2、使用PopupWindow
PopupWindow可以创建类似于对话框风格的窗口,使用PopupWindow创建对话框风格的窗口只要如下两步即可:
a、调用PopupWindow的构造器创建PopupWindow对象
b、调用PopupWindow的showAsDropDown(View v)将PopupWindow作为v组件的下拉组件显示出来;或调用PopupWindow的showAtLocation方法将PopupWindow在制定位置显示出来。
3、使用DatePickerDialog、TimePickerDialog
DatePickerDialog和TimePickerDialog的功能比较简单,用法也简单,只要两步即可:
a、通过new关键字创建DatePickerDialog、TimePickerDialog实例,调用它们的show()方法即可将日期选择对话框、时间选择对话框显示出来。
b、为DatePickerDialog、TimePickerDialog绑定监听器
4、使用ProgressDialog创建进度对话框
ProgressDialog本身就代表了进度对话框,程序只要创建ProgressDialog实例,并将它显示出来就是一个进度对话框。
三、提示消息1、使用Toast显示提示信息框
Toast有两个特点:
a、Toast提示信息不回获得焦点。
b、Toast提示信息过一段时间会自动消失。
使用Toast生成提示消息的步骤:
a、调用Toast的构造器或makeText方法创建一个Toast对象。
b、调用Toast的方法设置该消息提示的对齐方式、页边距、显示的内容等。
c、调用Toast的show()方法将它显示出来。
2、Notification
Notification是显示在手机状态栏的消息----手机状态栏位于手机屏幕的最上方,那里一般显示了手机当前的网络状 态、电池状态、时间等。Notification所代表的是一种具有全局效果的通知,程序一般通过NotificationManager服务来发送 Notification。
NotificationManager是一个重要的系统服务,该API位于应用程序框架层,应用程序可以通过NotificationManager向系统发送全局通知。
使用Notification按照如下步骤:
a、调用getSystemService(NOTIFICATION_SERVICE)方法获取系统的NotificationManager服务
b、通过构造器创建一个Notification对象
c、为Notification设置各种属性
d、通过NotificationManager发送Notification