UWP toast
Windows10的自适应和交互式toast通知是一个新特性。它可以让你:
创建灵活的toast通知,包括内嵌图片及更多的内容,不在局限于之前Windows 8.1和Windows Phone 8.1提供的toast模板。
概述
Toast 通知使用 XML 构建,这通常包含以下关键元素:
- <visual> 涵盖可供用户从视觉上查看的内容,包括文本和图像
- <actions> 包含开发人员希望在通知内添加的按钮/输入
- <audio> 指定在通知弹出时播放的声音
Toast通知的使用场景
Toast 通知支持四种默认场景,可在<toast><\toast>中设置scenario
defaultreminder: 通知会持续显示在屏幕上alarm: 通知会持续显示在屏幕上并且循环播放声音inComingCall: 在Moblie下全屏显示等
Toast的XML结构
<toast>
<visual/>
<actions/>
<audio/>
</toast>
视觉(Visual)
在视觉元素内,你必须正好有一个包含 Toast 的视觉内容的绑定元素。
通用 Windows 平台 (UWP) 应用中的磁贴通知支持基于不同磁贴大小的多个模板。 但是,Toast 通知只有一个模板名称:ToastGeneric。 只有一个模板名称意味着:
- 你可以更改 Toast 内容,例如添加另一行文本、添加嵌入式图像或将缩略图图像从显示应用图标更改为其他内容,并且在执行任意上述操作时无需担心更改整个模板或由于模板名称和内容之间的不匹配而创建无效的负载。
- 你可以使用相同代码为专用于传递到不同类型的 Microsoft Windows 设备(包括手机、平板电脑、PC 和 Xbox One)的 Toast 通知构建相同的负载。 其中每台设备都将接受通知,并使用相应的视觉提示和交互模型根据其 UI策略向用户显示通知。
有关视觉部分及其子元素中受支持的所有属性,请参阅下面的“架构”部分。 有关更多示例,请参阅下面的 XML 示例部分。
以上是MSDN上对视觉的介绍
<binding/>绑定元素
而template的唯一值为ToastGeneric
<text/> 文本
<image/>图片
src:图片源
hint-crop:是否裁剪,none 不裁剪,circle 将图像裁剪成圆形
操作(actions)
在 UWP 应用中,你可以将按钮和其他输入添加到 Toast 通知,这可使用户在应用外执行更多操作。 这些操作在 <actions> 元素下指定,其中有两个可以指定的类型:
- <action> 这将显示为桌面和移动设备上的按钮。 你可以在 Toast 通知内指定最多五个自定义或系统操作。
- <input> 这允许用户提供输入,如对消息的快速回复或从下拉菜单中选择一个选项。
<action> 和 <input> 在 Windows 设备系列内均是自适应的。 例如,在移动或桌面设备上,面向用户的 <action> 是可点击/单击的按钮。 文本 <input> 是用户可使用物理键盘或屏幕键盘输入文本的框。 这些元素还会适应将来的交互方案,如通过语音宣布的 操作或通过听写获取的文本输入。
当用户采用某个操作时,你可以通过在 <action> 元素内指定 ActivationType 属性来执行以下操作之一:
- 使用特定于操作的参数在前台激活应用,该参数可用于导航到特定页面/上下文。
- 在不影响用户的情况下激活应用的后台任务。
- 通过协议启动激活另一个应用。
- 执行要执行的系统操作。 当前可用系统操作将推迟和解除计划的警报/提醒,这将在下面部分中进一步介绍。
有关视觉部分及其子元素中受支持的所有属性,请参阅下面的“架构”部分。 有关更多示例,请参阅下面的 XML 示例部分。
<input/>
id:必填,用于后台和前台获取输入值
type:必填 ,有text和selection两个属性,显然字面意思
title:选填,标题将呈现在输入的上方
placeholderContent:选填,填写将在输入框中显示提示
defaultInput:选填,设置默认值,type为text时将值视为字符串,selection时将值视为可选id之一
<action/>
content:必填 显示button的文本
arguments:必填,类同input的id,用于检索用户是否操作
hint-inputId:必填,需要填入与action关联的input的id,用于action和input的匹配
音频(audio)
自定义声音当前在面向桌面平台的 UWP 应用上不受支持;相反,你可以为你的桌面上的应用从 ms-winsoundevents 列表中进行选择。 移动平台上的 UWP 应用支持 ms-winsoundevents 以及采用以下格式的自定义声音:
- ms-appx:///
- ms-appdata:///
有关 Toast 通知中的音频的信息(其中包括 ms-winsoundevents 的完整列表),请参阅音频架构页面。
src:选填,音频路径
loop:选填,boolean ,是否循环,ture 循环播放、false 仅播放一次
silent:选填,boolean,是否静音,true 静音、false 允许播放
Toast的Demo
含有图片的Toast
xml代码Demo
<?xml version="1.0" encoding="utf-8" ?>
<toast launch="app-defined-string">
<visual>
<binding template="ToastGeneric">
<text>这是你的标题</text>
<text>这是你的内容</text>
<image placement="appLogoOverride" src="Assets/Square44x44Logo.scale-200.png" />
<image placement="inline" src="Assets/test.png" />
</binding>
</visual>
</toast>
含有输入的Toast
xml代码Demo
<?xml version="1.0" encoding="utf-8" ?>
<toast>
<visual>
<binding template="ToastGeneric">
<text>Hello World!</text>
<text>回复toast</text>
<image src = "ms-appx://Assets/Images/photo.jpg" placement="appLogoOverride"/>
</binding>
</visual>
<actions>
<input id = "reply" type="text" placeHolderContent="输入内容"/>
<action content = "回复" arguments="reply" hint-inputId="reply"/>
</actions>
<audio src = "ms-winsoundevent:Notification.Default" />
</toast>
含有音频的Toast
xml的Demo
<?xml version="1.0" encoding="utf-8" ?>
<toast launch="app-defined-string">
<visual>
<binding template="ToastGeneric">
<text>提醒标题</text>
<text>提醒内容</text>
<!--<image placement="AppLogoOverride" src="oneAlarm.png" />-->
</binding>
</visual>
<actions>
<action content="确定" arguments="check" />
<action content="取消" arguments="cancel" />
</actions>
<audio src="ms-winsoundevent:Notification.Looping.Call9"/>
</toast>
C#代码
读取xml文件
XDocument xd = XDocument.Load("XML/Pictrue.xml");
创建Toast模板
XmlDocument doc = new XmlDocument();
利用xml创建Toast,利用ToastNotificationManeger创建Toast
doc.LoadXml(xd.ToString());
ToastNotification notification = new ToastNotification(doc);
ToastNotificationManager.CreateToastNotifier().Show(notification);
输入文本Toast

声音Toast

图片Toast

定时发送Toast
若需要定时Toast通知
使用ScheduledToastNotification类
public ScheduledToastNotification(XmlDocument content, DateTimeOffset deliveryTime);
public ScheduledToastNotification(XmlDocument content, DateTimeOffset deliveryTime, TimeSpan snoozeInterval, System.UInt32 maximumSnoozeCount);
上面两个构造函数第一个是仅一次,第二个可以设置循环次数
ToastNotificationManager.CreateToastNotifier().AddToSchedule(SToastNotification);
将通知添加系统中
UWP toast的更多相关文章
- 【完全开源】知乎日报UWP版:增加Live磁贴、Badge、以及Toast通知
目录 说明 实现方法 APP生命期 后台任务 说明 之前网上有人建议增加磁贴(tile).徽章(badge)功能.利用周末的时间,将这两个功能添加上去了.如果将磁贴固定到开始屏幕,磁贴就会循环播放首页 ...
- 【UWP开发】一个简单的Toast实现
Toast简介 在安卓里Toast是内置原生支持,它是Android中用来显示显示信息的一种机制.它主要用于向用户显示提示消息,没有焦点,显示的时间有限,过一定的时间就会自动消失.在UWP中虽然没有原 ...
- [UWP 开发] 一个简单的Toast实现
Toast简介 在安卓里Toast是内置原生支持,它是Android中用来显示显示信息的一种机制.它主要用于向用户显示提示消息,没有焦点,显示的时间有限,过一定的时间就会自动消失.在UWP中虽然没有原 ...
- win10 uwp 通知Toast
win10通知使用Toast 可以使用win10 模板添加通知 var t = Windows.UI.Notifications.ToastTemplateType.ToastText02; 使用Ge ...
- uwp 之吐司 toast
Toast -------------------------------------------------------------- var t = Windows.UI.Notification ...
- Win10 UWP开发系列——开源控件库:UWPCommunityToolkit
在开发应用的过程中,不可避免的会使用第三方类库.之前用过一个WinRTXamlToolkit.UWP,现在微软官方发布了一个新的开源控件库—— UWPCommunityToolkit 项目代码托管在G ...
- Windows10自适应和交互式toast通知[1]
阅读目录: 概述 toast通知的结构 视觉区域(Visual) 行为(Actions) 特定场景下的Toast通知 带多内容的通知 带行为的通知(例子1) 带行为的通知(例子2) 带文本输入框和行为 ...
- 【Win10 应用开发】自适应Toast通知的XML文档结构
老规矩,在开始之前老周先讲个故事. 话说公元2015年7月20日,VS 2015发布.于是,肯定有人会问老周了,C#6有啥新特性,我学不来啊.学不来的话你应该检讨.老周比较保守地计算一下,学会C# 6 ...
- 【Win10开发】Toast通知
Toast 通知是一种发送给用户的暂时消息,包含相关的.具有时效性的信息,并且提供对应用中相关内容的快速访问.它可显示你是在另一个应用中.在“开始”屏幕上.在锁屏上,还是在桌面上.Toast 应该被视 ...
随机推荐
- crawler4j 学习
crawler4j 学习(一) crawler4j是一个轻量级多线程网络爬虫,开发者可以调用相应的接口在短时间内创建一个多线程网络爬虫. 前期准备 使用maven 为了使用最近版本的crawler4j ...
- Android 双卡双待识别
简介 Android双卡双待已经越来越普及了,解决双卡双待管理是广大手机开发人员必须得面对的问题,为实现Android平台的双卡双待操作,笔者研究了Android 应用层操作双卡双待的机制. 机制 获 ...
- 移动端lCalendar纯原生js日期时间选择器
网上找过很多的移动端基于zepto或jquery的日期选择器,在实际产品中也用过一两种,觉得都不太尽如人意,后来果断选择了H5自己的日期input表单,觉得还可以,至少不用引用第三方插件了,性能也不错 ...
- 妙味课堂——HTML+CSS基础笔记
妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...
- 一些简单编程练习题P【持续更新】
Q1.写程序将“Hello World”打印到屏幕. A1. public class Test { public static void main(String[] args) { System.o ...
- webform 复合控件
RadioButtonList 单选按钮列表 属性:RepeatColumns 用于布局项的列数(每一行的个数) RepeatDirection 选择Vertical,纵向排列:选择Horizont ...
- CNUOJ 0486 800401反质数
难度级别:A: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 将正整数 x 的约数个数表示为 g(x).例如,g(1)=1,g(4)=3, g ...
- poj2389-Bull Math(大整数乘法)
一,题意: 大整数乘法模板题二,思路: 1,模拟乘法(注意"逢十进一") 2,倒序输出(注意首位0不输出) 三,步骤: 如:555 x 35 = 19425 5 5 5 5 5 ...
- 【7集iCore3基础视频】7-6 Quartus II 13.1安装
Quartus II 13.1安装:高清源视频:链接:http://pan.baidu.com/s/1csVRMA 密码:lkth 视频勘误:http://pan.baidu.com/s/1mhCIq ...
- JavaScript 入门教程三 语言基础【1】
一.基本介绍 1.JavaScript 是一种区分大小写的语言.(var Hello 与 var hello 是不同的变量) 2.JavaScript 中标志符就是指变量.函数.属性的名字,或者函数 ...