注0:本文整理于 6 月 12 日
- Android 对话框、信息提示和菜单
对话框
标准对话框显示按钮的方法
标准对话框最多 3 个按钮。具体可查看 AlertDialog 源码。
响应标准对话框的按钮单击事件
使用 DialogInterface.OnClickListener() 方法响应标准对话框点击事件。
在对话框中显示一个列表
使用 AlertDialog.Builder.setItems 方法可以将一个 String 数组以列表形式显示在对话框中。
进度条对话框的使用方法
类 ProgressDialog. 具体可查看官方API或搜索
在标准对话框中任意放置可视组件
AlertDialog.Builder.setView 方法可以在对话框上显示一个 View, 可以用 Java 代码进行绘制,也可以从布局文件装载。
在 Android 中显示对话框的方式
- 1 直接使用 AlertDialog
- 2 把 Activity 当成 Dialog 使用
- 3 Activity.showDialog 方法显示对话框
设置对话框的位置
使用 setGravity 方法。具体是先要用一个 Window window = alertDialog.getWindow(); window.setGravity();
改变对话框透明度
通过设置 window 的 alpha 属性可以改变。
信息提示
Toast 信息框
- 除了显示文字,toast 还可以显示图像(setView)
- Toast.show() 方法并不是让其显示,而是让这个 Toast 进入系统的 Toast 队列
通知 Notification
创建步骤
- 1 通过 getSystemService 方法获得一个 NotificationManager 对象
- 2 创建一个 Notification 对象
- 3 创建一个 PendingIntent 对象。
- 4 使用 Notification 类的 setLatestEventInfo 方法设置 Notification 的详细信息
- 5 使用 NotificationManager 类的 notify 方法显示 Notification 消息
Notification 的单击事件处理
使用PendingIntent.getActivity 方法获取一个 PendingIntent 对象,并将 PendingIntent 对象传入 setLatestEventInfo 方法的最后一个参数。
Tips:发送广播 PendingIntent.getBroadcast 开始服务:PendingIntent.getService()。
从状态栏清除 Notification
使用 NotificationManager.cancel 方法可以清除单一一个,参数是 ID。 cancelAll 清除全部,Ps:当前 Mainager 对象中的全部。
让 Notification 永久存在
设置 Notification 的 flags 属性为 Notification.FLAG_ONGOING_EVENT,能让其永久存在。
自定义 Notification 和其支持的组件
只需要设置 Notification.contentView 变量(需要一个 RemoteViews 对象)
支持的布局:FrameLayout LinearLayout RelativeLayout
支持的组件:AnalogClock Button Chronometer ImageButton ImageView ProgressBar TextView
菜单
Android 支持哪几种菜单
选项菜单 上下文菜单 子菜单
可显示图像的菜单
选项菜单可以显示,上下文和子菜单的菜单头可以显示。但菜单项不能显示图像
如何为 Activity 添加选项菜单
Activity.onCreateOptionsMenu 方法中,使用 Menu 对象添加菜单。
响应菜单项单击事件的方法
onMenuItemClick
onOptionsItemSelected
onMenuItemSelected
个人注解
因为目前在实际项目之中菜单已经用的越来越少,况且自定义 View 和其他自定义 View 样式差不多。
所以这里不再对菜单进行过多的说明,如果到时候需要使用,可以去查阅官方文档和API。