首页 > Android提示框与通知的使用

Android提示框与通知的使用

1.通知

  Android 3.0以前使用的方法

1             NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
2             Notification notification = new Notification(R.drawable.dss,
3                     "通知到了", System.currentTimeMillis());
4             notification.flags = Notification.FLAG_AUTO_CANCEL;
5             Intent intent = new Intent();
6             PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
7                     intent, 0);
8             notification.setLatestEventInfo(this, "标题", "内容", contentIntent);
9             nm.notify(0, notification);

  替代方法

 1             Intent intent = new Intent();
 2             PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
 3                     intent, 0);
 4             Notification noti = new Notification.Builder(this)
 5                     .setTicker("通知到了")
 6                     .setContentTitle("标题")
 7                     .setContentText("内容")
 8                     .setAutoCancel(true)
 9                     .setContentIntent(contentIntent)
10                     .setSmallIcon(R.drawable.dss)
11                     .setLargeIcon(
12                             BitmapFactory.decodeResource(getResources(),
13                                     R.drawable.dss)).build();
14             NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
15             nm.notify(0, noti);

 

2.对话框

 1             AlertDialog.Builder builder = new AlertDialog.Builder(this);
 2             builder.setTitle("对话框标题");
 3             builder.setMessage("对话框内容");
 4             builder.setPositiveButton("确定", new OnClickListener() {
 5                 @Override
 6                 public void onClick(DialogInterface dialog, int which) {
 7                     //Toast.makeText(getApplicationContext(), "确定被点击了", Toast.LENGTH_SHORT).show();
 8                 }
 9             });
10             builder.setNegativeButton("取消", new OnClickListener() {
11                 @Override
12                 public void onClick(DialogInterface dialog, int which) {
13                     //Toast.makeText(getApplicationContext(), "确定被点击了", Toast.LENGTH_SHORT).show();
14                 }
15             });
16             //禁止响应返回键
17             builder.setCancelable(false);
18             builder.create().show();

 

3.单选对话框

 1             AlertDialog.Builder builder = new AlertDialog.Builder(this);
 2             builder.setTitle("请选择:");
 3             final String[] items = {"喜欢", "不喜欢"};
 4             builder.setSingleChoiceItems(items, 0, new OnClickListener() {
 5                 @Override
 6                 public void onClick(DialogInterface dialog, int which) {
 7                     //单击后退出单选对话框
 8                     dialog.dismiss();
 9                 }
10             });
11             builder.create().show();



4.多选对话框

 1             AlertDialog.Builder builder = new AlertDialog.Builder(this);
 2             builder.setTitle("请选择你最爱吃的水果");
 3             final String[] items={"苹果","梨","菠萝","香蕉","黄瓜"};
 4             final boolean[] result =new boolean[]{ true,false,true,false,false};
 5             builder.setMultiChoiceItems(items, result, new OnMultiChoiceClickListener() {
 6                 @Override
 7                 public void onClick(DialogInterface dialog, int which, boolean isChecked) {
 8                     //Toast.makeText(getApplicationContext(), items[which]+isChecked, 0).show();
 9                     result[which] = isChecked;
10                 }
11             });
12             builder.setPositiveButton("提交", new OnClickListener() {
13                 @Override
14                 public void onClick(DialogInterface dialog, int which) {
15                     StringBuffer sb = new StringBuffer();
16                     for(int i=0;i){
17                         //if(result[i]){
18                         //    sb.append(" " + items[i]);
19                         //}
20                     }
21                     //Toast.makeText(getApplicationContext(), "您选中了"+sb.toString(), 0).show();
22                 }
23             });
24             builder.show();//作用同 builder.create().show();

 

5.带进度条的对话框

 1             final ProgressDialog pd = new ProgressDialog(this);
 2             pd.setTitle("警告");
 3             pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
 4             pd.setMax(100);
 5             pd.setMessage("正在处理数据,请稍等。。。");
 6             pd.show();
 7             new Thread(){
 8                 public void run() {
 9                     for(int i = 0;i<100;i++){
10                         try {
11                             Thread.sleep(40);
12                         } catch (InterruptedException e) {
13                             e.printStackTrace();
14                         }
15                         pd.setProgress(i);
16                     }
17                     pd.dismiss();
18                 };
19             }.start();

 

转载于:https://www.cnblogs.com/diysoul/p/3971055.html

更多相关:

  • 菜鸟一枚,正在学习C++ Gui Qt4,整理很零碎,欢迎批评指正   1.窗口标题: QWidget *window = new QWidget; window->setWindowTitle("Enter Your Age"); **************************************** 关于标题...

  • 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 总体思路是: 比较两个链表头节点,较小的插入新链表指针之后,同时较小链表指针向后移动一位 实现如下: ListNode* mergeTwo...

  • 1.直接调用微软socket对象处理 static void Main(string[] args){try{IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });//在3721端口新建一个TcpListener对象TcpListener listener = new...

  •   现在很多地方都会用到zookeeper, 用到它的地方就是为了实现分布式。用到的场景就是服务注册,比如一个集群服务器,需要知道哪些服务器在线,哪些服务器不在线。   ZK有一个功能,就是创建临时节点,当机器启动应用的时候就会连接到一个ZK节点,然后创建一个临时节点,那么通过获取监听该路径,并且获取该路径下的节点数量就知道有哪些服务...

  • 前台到后台java时data日期类型的转化 在实体类中用@DataTimeFormat,这样设置即使传过来是空的字符串也是可以转的,要和前面传过来的格式一致,如 @XmlElement(name="BeginDate") @DateTimeFormat(pattern="yyyy-MM-dd") private Date begin...

  •  单选 $('#tit span').click(function() {             var i = $(this).index();//下标第一种写法             //var i = $('tit').index(this);//下标第二种写法             $(this).addClass('...

  •   前  言 LiuDaP    在前端的学习中,我们必然要用到js,js可以说是前端必不可少的的东西。在学习js的过程中,我们会经常用到this这个东西,而this的指向问题就变得尤为重要。今天正好有空闲时间,就给大家详细介绍一下js中关于this的指向问题,希望能够帮助到大家。     一、this的指向原理 >>>仅仅一条就...

  • 版本:1.4.  menu的disableItem方法不能禁用使用onClick方式绑定的事件。 解决思路如下: 重写disableItem方法和enableItem方法。 /*** menu方法扩展* @param {Object} jq* @param {Object} itemEl*/ $.extend($.fn.menu.m...

  •         Apache POI是一个开源的利用Java读写Excel,WORD等微软OLE2组件文档的项目。        我的需求是对Excel的数据进行导入或将数据以Excel的形式导出。先上简单的测试代码:package com.xing.studyTest.poi;import java.io.FileInputSt...

  • 要取得[a,b)的随机整数,使用(rand() % (b-a))+ a; 要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a; 要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1; 通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。 要取得a到b之间的...

  • 利用本征图像分解(Intrinsic Image Decomposition)算法,将图像分解为shading(illumination) image 和 reflectance(albedo) image,计算图像的reflectance image。 Reflectance Image 是指在变化的光照条件下能够维持不变的图像部分...

  • 题目:面试题39. 数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2 限制: 1 <= 数组长度 <= 50000 解题: cl...

  • 题目:二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树:      5     /    2   6   /  1   3示例 1: 输入: [1,6,3,2,5] 输出...