现在的位置: 首页 > 综合 > 正文

WP7应用开发笔记(16) 本地Toast 提示

2012年05月22日 ⁄ 综合 ⁄ 共 1336字 ⁄ 字号 评论关闭
文章目录

Toast 通知简介

Toast 通知是推送通知的三种类型的其中一种。

Toast 通知显示在屏幕的顶部,用于通知用户某个事件,如新闻或天气警报。除非用户通过向右轻拂关闭通知,否则 Toast 将显示大约 10 秒钟。如果用户点按 Toast,则会启动发送该 Toast 通知的应用程序。

Toast 通知的元素如下:

  • 标题。紧挨着应用程序图标之后显示的黑体字字符串。在 XML 架构中,该字符串定义为 Text1 属性。

  • 内容。紧挨着“标题”之后显示的非黑体字字符串。在 XML 架构中,该字符串定义为 Text2 属性。

  • 参数。如果用户点按 Toast,则将参数值传递给您的应用程序,而不进行显示。该参数可以指示应用程序应该启动到的页面。该参数还包含传递到应用程序的名称-值对。在 XML 架构中,该字符串定义为 Param 属性。

显示效果如下:

 

本地Toast 提示

有时候我们需要显示一些提示信息可以使用Toast提示来直观的呈现,但是Toast提示必须使用推送通知。这样不是很方便,有没有办法不通过推送通知直接呈现出Toast通知的效果呢?

我寻找了很久在SDK里面好像暂时没有官方的实现方式,不过开源项目Coding4Fun.Phone.Toolkit 里的ToastPrompt就实现了这个效果,而且使用很简单。不过因为是本地的Toast提示不能在App外部呈现。

 

先声明一下:下面的部分内容摘自 WP7 ToastPrompt in depth

使用ToastPrompt

首先下载Coding4Fun.Phone.Toolkit 引用到项目中。

 

ToastPrompt呈现效果有横向和纵向

 

 

代码如下,用法和Message有点像:

private void Button_Click(object sender, RoutedEventArgs e) 
{
ToastPrompt toast = new ToastPrompt(); //实例化

toast.Title = "ToastPrompt"; //设置标题
toast.Message = "Some message"; //设置正文消息
toast.FontSize = 50; //设置文本大小(可选)
toast.TextOrientation = System.Windows.Controls.Orientation.Vertical; //设置呈现为纵向
toast.ImageSource = new BitmapImage(new Uri("ApplicationIcon.png", UriKind.RelativeOrAbsolute)); //设置 标题前的图片(可选)
toast.Background = new SolidColorBrush(Colors.LightGray); //背景色(可选)
toast.Foreground = new SolidColorBrush(Colors.Red); //前景色(可选)


toast.Completed += toast_Completed; //Toast显示完毕后触发事件(可选)
toast.Show();
}

void toast_Completed(object sender, PopUpEventArgs<string, PopUpResult> e)
{
//TODO:Toast显示完毕后事件处理
}

 

抱歉!评论已关闭.