//选择模版
XmlDocument largeTileData = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWidePeekImage01);
//添加文字说明
XmlNodeList largetextdata = largeTileData.GetElementsByTagName("text");
XmlNodeList imagedata = largeTileData.GetElementsByTagName("image");
largetextdata[0].InnerText = "F#ck Day!";
largetextdata[1].InnerText = "What a F#cking Day?";
//设置图片
((XmlElement)imagedata[0]).SetAttribute("src","ms-appx:///images/1024.png");
//微标 文字以及图片
XmlDocument smalltiledate = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquarePeekImageAndText02);
XmlNodeList smallTileText = smalltiledate.GetElementsByTagName("text");
XmlNodeList smallTileImage = smalltiledate.GetElementsByTagName("image");
smallTileText[0].InnerText = "Cao Egg";
smallTileText[1].InnerText = "I'm F#cker in there";
((XmlElement)smallTileImage[0]).SetAttribute("src", "ms-appx:///images/1024.png");
//合并两个到一个<visual> XML节点
IXmlNode newNode = largeTileData.ImportNode(smalltiledate.GetElementsByTagName("binding").Item(0), true);
largeTileData.GetElementsByTagName("visual").Item(0).AppendChild(newNode);
//创建通知
TileNotification notification = new TileNotification(largeTileData);
//多少秒以后移除
notification.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(30);
//发送通知
TileUpdateManager.CreateTileUpdaterForApplication().Update(notification);
精简
XmlDocument tileData = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareBlock);
XmlNodeList textData = tileData.GetElementsByTagName("text");
textData[0].InnerText = "10";
textData[1].InnerText = "Days of Me";
TileNotification notification = new TileNotification(tileData);
//为通知设置到期时间
//默认情况下,本地磁贴和锁屏提醒不会过期,推送通知、定期通知、激活通知会在三天之后过期。
//最好通过使用一个对你的应用有意义的时间设置过期时间,对于本地磁贴和锁屏提醒通知尤其如此。
//磁贴内容的保留时间应不长于内容具有相关性的时间。
//在这种情况下,该通知将在十分钟内到期并从磁贴中删除。
notification.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(20);
TileUpdateManager.CreateTileUpdaterForApplication().Update(notification);
计划磁贴通知
//指定模板
TileTemplateType tileTemplate = TileTemplateType.TileWideImageAndText01;
XmlDocument tileXml = TileUpdateManager.GetTemplateContent(tileTemplate);
//提供通知内容
//设置文字
XmlNodeList tileTextAttributes = tileXml.GetElementsByTagName("text");
tileTextAttributes[0].InnerText = "Hello"+Guid.NewGuid().ToString().Substring(0,5)+" World!!!!!";
//设置图片
XmlNodeList tileImageAttributes = tileXml.GetElementsByTagName("image");
((XmlElement)tileImageAttributes[0]).SetAttribute("src", "ms-appx:///images//1024.png");
((XmlElement)tileImageAttributes[0]).SetAttribute("alt", "red graphic");
//小瓷贴模版。
XmlDocument squareTileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareText04);
//设置文字
XmlNodeList squareTileTextAttributes = squareTileXml.GetElementsByTagName("text");
squareTileTextAttributes[0].AppendChild(squareTileXml.CreateTextNode("Hello " + Guid.NewGuid().ToString().Substring(0, 5) + " World。。。。"));
//绑定
IXmlNode node = tileXml.ImportNode(squareTileXml.GetElementsByTagName("binding").Item(0), true);
//插入
tileXml.GetElementsByTagName("visual").Item(0).AppendChild(node);
//指定应传递通知的时间
//Int16 dueTimeInHours = 3;
//DateTime dueTime = DateTime.Now.AddHours(dueTimeInHours);
DateTime dueTim1e = DateTime.Now.AddSeconds(10);
//创建计划的磁贴通知对象
ScheduledTileNotification scheduledTile = new ScheduledTileNotification(tileXml, dueTim1e);
//为计划的磁贴通知赋予 ID
scheduledTile.Id = "Future_Tile";
//向计划中添加磁贴通知。
TileUpdateManager.CreateTileUpdaterForApplication().AddToSchedule(scheduledTile);
磁贴通知队列
//设置选项以启用通知循环
TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);
//创建磁贴通知
TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImageAndText01);
XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareBlock);
// TODO: Fill in the template with your tile content.
// TODO: Define a square tile and add it to tileXML.
TileNotification tileNotification = new TileNotification(tileXml);
/*
* 启用队列时,最多可在磁贴上自动循环显示五个磁贴通知。
* 默认情况下,队列中通知的替换策略是先进先出 (FIFO);
* 当队列排满且到达新通知时,最早的通知将被删除。
* 请注意,通知显示顺序不遵守严格的线性模式。
* 用户可看到通知的顺序与其到达时的顺序并不相同。
*/
//授予通知标记
tileNotification.Tag = "stockMSFT";
//向磁贴发送通知
TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);
清除磁贴通知
Windows.UI.Notifications.TileUpdateManager.CreateTileUpdaterForApplication().Clear();
参考实例:http://code.msdn.microsoft.com/windowsapps/app-tiles-and-badges-sample-5fc49148/
分享到:
相关推荐
"Windows 8磁贴模板"是一系列预定义的设计模式,开发者可以利用这些模板来创建吸引人的启动屏幕和动态更新通知,提升用户体验。在Windows Store应用开发中,理解并熟练运用磁贴模板对于创建引人注目的应用至关重要。...
1. **动态更新**:磁贴可以实时显示应用程序的最新信息,如天气预报、新闻标题、邮件通知等。 2. **大小可变**:磁贴有多种尺寸,小至普通图标,大到占据整个屏幕,这使得用户可以根据需要调整每个应用的显示面积。 ...
磁贴可以根据应用的特性显示实时更新的信息,如天气、邮件通知、未接来电等,提供直观且即时的信息反馈。 二、固定应用到首页 1. 打开应用列表:在手机屏幕底部向左滑动,或者点击屏幕下方的“所有应用”按钮,进入...
5. **后台服务或广播接收器**(Services or Broadcast Receivers):为了实时更新磁贴信息,可能需要一个后台服务来监听特定事件,如系统通知,然后更新对应的磁贴内容。 6. **触摸事件处理**(Touch Event ...
这包括注册磁贴通知、更新磁贴模板、设置定时触发器等关键步骤。同时,源码中可能还包含了处理不同屏幕尺寸和分辨率的技巧,确保动态磁贴在各种设备上都能良好显示。 源码包中的`WP8MangoPolloDemo_43ce782c-bfde-...
- 创建和更新磁贴通知,包括本地通知和远程通知。 - 针对不同设备分辨率和屏幕尺寸优化磁贴设计。 6. **调试与测试**: 开发者可以使用Visual Studio进行模拟器或实际设备上的调试,观察动态磁贴的实时效果,调整...
开发者需要了解如何配置通知服务,如何根据应用需求定制磁贴样式,以及如何在不同设备上测试这些功能。 总之,动态磁贴和锁屏提醒是Windows生态系统中的独特特性,它们提供了高效的信息传递途径,同时也增强了用户...
动态磁贴是Windows 8操作系统的一大特色,它能够展示实时更新的信息,比如天气、新闻或者应用的通知。在这个项目中,我们将深入探讨如何在Android上复现这一特性。 首先,我们要理解Android Metro风格动态磁贴的...
- 当该设置被禁用或未配置时,系统会保留磁贴通知,使得用户下次登录时磁贴显示的内容与注销前相同,其中包括了每个磁贴的先前通知历史记录。 - 而启用此设置后,系统会在用户注销时清除这些过期的通知,从而确保...
开发者可以通过设置磁贴通知(Tile Notifications)来更新磁贴内容。 2. **磁贴大小**:Windows 8允许开发者设定磁贴的大小,有小、中、大三种尺寸。每种尺寸下,磁贴可显示的内容数量和类型都有所不同,例如,大型...
对于那些希望保持开始屏幕整洁的用户来说,如何有效地清除这些过期的动态磁贴通知就成为了一个值得关注的问题。本篇文章将详细介绍如何利用Win8系统的本地组策略编辑器来实现“退出系统时清除动态磁贴过期通知”的...
在Android平台上,动态磁贴(Live Tiles)的概念源自Windows Phone的界面设计,它允许用户在主屏幕上看到实时更新的信息,而无需打开应用。"android 动态磁贴metro风格源码"是一个专为Android系统定制的类似功能实现...
在Windows 8中,磁贴是一种动态、直观的图标形式,能够显示实时更新的信息,如天气、新闻或邮件通知。DeskTiles将这种功能带到了其他操作系统上,使得用户可以在桌面上创建具有类似功能的磁贴,增强桌面的交互性和...
- **删除磁贴通知**:系统会在用户注销时删除所有磁贴通知,确保用户登录时看到的是磁贴的默认内容。 - **清除缓存版本**:同时清除所有通知的缓存版本,这意味着即使应用有新的更新,也不会显示之前的过期通知。 ...
它们可以动态更新内容,比如天气预报、新闻标题或者邮件通知。在这个源码中,开发者将这种功能移植到了Android平台上。 1. **自定义View**:为了实现下沉倾斜效果,开发者创建了一个自定义的View类,继承自Android...
首先,我们可以通过以下步骤来配置系统以在退出时清除动态磁贴通知: 1. 同时按下`Win+Q`键,这将打开本地应用搜索。对于触控设备用户,可以将手指从屏幕右边缘向中心滑动,调出超级按钮,然后点击“搜索”(放大镜...
对于Cycle磁贴,可以使用TileUpdater的Update方法定期推送新的通知,更新磁贴内容。 总的来说,Windows Phone 8的动态磁贴是操作系统的一大亮点,它赋予了手机界面活力和实用性。开发者通过巧妙利用这三种类型的...
磁贴是动态的,可以显示实时信息,如天气预报、邮件通知等,为用户提供直观的信息概览。现在我们将深入探讨“WIN8系统磁贴点击下沉倾斜效果源码”的相关知识点。 首先,这个源码实现的是Windows 8磁贴在被点击时的...
在Windows 8中,我们可以利用组策略编辑器来控制动态磁贴通知的行为。以下是如何操作的步骤: 1. 首先,启动组策略编辑器。可以通过按下键盘上的"Win+Q"快捷键,打开本地应用搜索,然后输入"gpedit.msc"并点击搜索...
2. **磁贴设计**:磁贴并非只是普通的图标,它们可以根据内容动态更新,比如显示天气预报、新闻标题、邮件通知等。用户可以根据需要调整磁贴大小,甚至固定常用应用到主屏幕,方便快速访问。 3. **网页中的磁贴应用...