android通知消息条目显示,android学习日记21--消息提示之Toast和Notification

1、Toast

Toast译为土司,类似切片面包,用于弹出比较快速的及时提示信息。当Toast被显示时,

虽然它悬浮应用程序最上方,但是并未获得焦点。它的设计就是为了提示有用的信息,而不打扰用户其他操作。

最使用简单:

// 第一个参数:当前的上下文环境。可用getApplicationContext()或this

// 第二个参数:要显示的字符串。也可是R.string中字符串ID

// 第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒,如2000ms

Toast.makeText(getApplicationContext(), "简单的Toast",Toast.LENGTH_LONG).show();

当然你也可以设置图片和显示位置:

1 toast = Toast.makeText(getApplicationContext(), "可选位置带图片的Toast",

Toast.LENGTH_LONG);

//第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶

//第二个参数:相对于第一个参数设置toast位置的横向X轴的偏移量,正数向右偏移,负数向左偏移

//第三个参数:同的第二个参数道理一样

//如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示

toast.setGravity(Gravity.CENTER, -50, 100);

//获得toast的布局

LinearLayout toastView = (LinearLayout) toast.getView();

//设置图片

ImageView imageCodeProject = new ImageView(getApplicationContext());

imageCodeProject.setImageResource(R.drawable.ic_launcher);

//添加图片

toastView.addView(imageCodeProject, 0);

toast.show();

090b783115d740ff44453111a43b6075.png

或者自定义Toast显示:

//LayoutInflater这个类用来实例化XML文件到其相应的视图对象的布局

LayoutInflater inflater = getLayoutInflater();

View layout = inflater.inflate(R.layout.custom,

(ViewGroup) findViewById(R.id.llToast));

ImageView image = (ImageView) layout

.findViewById(R.id.tvImageToast);

image.setImageResource(R.drawable.ic_launcher);

TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);

//设置标题

title.setText("Attention");

TextView text = (TextView) layout.findViewById(R.id.tvTextToast);

//设置内容

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();

aa46742c70e9eed9dd5c2c764d438ee1.png

Toast提示消息也可以来自其他线程:

Handler handler = new Handler();

public void showToast() {

handler.post(new Runnable() {

@Override

public void run() {

Toast.makeText(getApplicationContext(), "我来自其他线程!",

Toast.LENGTH_SHORT).show();

}

});

}

b96e19583b6ed251b79e93c490e8260e.png

2、Notification

Notification位于手机状态栏。状态栏位于手机屏幕的最上层,通常显示电池电量、信号强度等信息。

按住状态栏往下拉就可以打开查看系统提示信息。

b801eb877574abe43ab25c90a50687ca.png

如果要添加一个Notification,需要了解NotificationManager和Notification

a、NotificationManager(通知管理器)

NotificationManager负责通知用户事件的发生.

NotificationManager有三个公共方法:

1. cancel(int id) 取消以前显示的一个通知.假如是一个短暂的通知,试图将隐藏,假如是一个持久的通知,将从状态条中移走.

2. cancelAll() 取消以前显示的所有通知.

3. notify(int id, Notification notification) 把通知持久的发送到状态条上.

b、Notification代表着一个通知

Notification的属性:

audioStreamType 当声音响起时,所用的音频流的类型

contentIntent 当通知条目被点击,就执行这个被设置的Intent.

contentView 当通知被显示在状态条上的时候,同时这个被设置的视图被显示.

defaults 指定哪个值要被设置成默认的.

deleteIntent 当用户点击"Clear All Notifications"按钮区删除所有的通知的时候,这个被设置的Intent被执行.

icon 状态条所用的图片.

iconLevel 假如状态条的图片有几个级别,就设置这里.

ledARGB LED灯的颜色.

ledOffMS LED关闭时的闪光时间(以毫秒计算)

ledOnMS LED开始时的闪光时间(以毫秒计算)

number 这个通知代表事件的号码

sound 通知的声音

tickerText 通知被显示在状态条时,所显示的信息

vibrate 振动模式.

when 通知的时间戳.

完整设置Notification代码:

Intent i = new Intent(MainActivity.this, NotifiedActivity.class);

// pendingIntent是一种特殊的Intent。主要的区别在于Intent的执行立刻的,而pendingIntent的执行不是立刻的

PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, i, 0);

//创建一个Notification对象

Notification myNotification = new Notification();

//Notification的图标

myNotification.icon=R.drawable.header;

//Notification的显示内容

myNotification.tickerText="点击查看";

//通知时发出的默认声音

myNotification.defaults=Notification.DEFAULT_SOUND;

//设置通知显示的参数

myNotification.setLatestEventInfo(MainActivity.this, "示例", "点击查看", pi);

//通知管理器

NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

//发送Notification

notificationManager.notify(0, myNotification);

运行效果:

df05c8c3bd96e16ccf42bac52bc07cde.png

点击添加Notification,

f097278a0ce034715c9d6f68f73d8d8c.png

点击启动另一个Activity查看Notification

6a0cf9cc0bd40049b3750c7c2d798bc8.png

android学习笔记21——消息提示Toast

消息提示可细分为两种:大量消息提示——当程序有大量图片.信息需要展示时,采用对话框消息提示: 小量消息提示——当程序只有少量信息需要呈现给用户时,采用轻量级的对话框——Toast; Toast ==& ...

android学习日记03--常用控件checkbox/radiobutton

常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...

Android消息提示框Toast

Android消息提示框Toast Toast是Android中一种简易的消息提示框.和Dialog不一样的是,Toast是没有焦点的,toast提示框不能被用户点击,而且Toast显示的时间有限,t ...

android学习日记05--Activity间的跳转Intent实现

Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...

android学习日记03--常用控件Dialog

常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Bui ...

Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)

Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog) Android第三方开源对话消息提示框:SweetAlertDialog(sweet- ...

android学习日记03--常用控件button/imagebutton

常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...

微信小程序之----消息提示框toast

toast toast为消息提示框,无按钮,如需关闭弹框可以添加事件设置hidden为true,在弹框显示后经过duration指定的时间后触发bindchange绑定的函数. 官方文档 .wxml ...

Android学习之Handler消息

Android系统规定,一些耗时的操作不能放在UI线程中去执行,这样会报一个ANR错误.所以为了避免该问题,我们需要开启一个新的线程去执行一些耗时操作:开启新的线程,将耗时的操作在新线程里面去执行, ...

随机推荐

easyui combotree的使用

前台HTML:

开发基础框架:mybatis-3.2.8 +hibernate4.0+spring3.0+struts2.3

一:项目下载地址(点击 Source code(zip)) https://github.com/fzxblgong/frame_2014-12-15/releases 版本:v1.2大小:20M 二 ...

海量数据处理算法—Bloom Filter

海量数据处理算法—Bloom Filter 1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出.它可以用于检索一个元素是否在一个集合中. Bl ...

CDOJ 1324 卿学姐与公主 分块

题目地址 分块模板 #include #include #include using namespace st ...

list、set、map以及array的区别

对于刚刚学习集合框架来说,如何选择list.set.map以及array是比较模糊的 在此我将对这四种情况做总结: array:数组,可以存储对象和基本数据类型,长度固定. Collection:集合 ...

javascript获取json对象的key名称的两种方法

javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常 ...

vuex数据持久化插件--指定持久化特定的值

指定需要持久化的state,配置如下 import createPersistedState from "vuex-persistedstate" conststore = new ...

RabbitMQ tutorial

一.安装RabbitMQ RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开 ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值