android 广播 关闭对话框,Android 对话框、信息提示和菜单

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值