UWP:Live Tile && Adaptive Tile && Updating

  • Live Tile要求

    • 要求使用标准的处理XML DOM方式创建动态磁贴
    • 要求采用Adaptive Tile(覆盖至少small,medium,wide)
    • 实现效果:要求每添加一条项目,磁贴能进行Updating,并且更新的内容循环展示。
    • 尝试使用通知可视化工具(Notifications Visualizer)
    • 美观度
  • 实现过程

    • 使用Notifications Visualizer设计磁贴样式(xml), 并采用Adaptive Tile:对于small,不显示任何信息;对于medium,只显示标题和文字;对于wide,显示图片、标题和文字,且图片位于左侧区域,标题和文字位于右侧区域;
    • 在项目中新建一个xml文件,将Notification Visualizer 的xml拷入;
    • 编写update()函数,引用刚刚定义的xml文件,通过对DOM元素操作的方法,取到所有text的标签,将更新条目的title和description作为文本结点插入DOM树中,使得当调用该函数时,磁贴样式能体现在开始菜单中;
    • 为了使item增加时磁贴能同步更新,我在create按钮的事件处理函数中调用了update()函数;
    • 实现更新的内容循环: 调用通知队列即可。

实现代码(已拆分,完整代码移步github)
(1)获取XML文件并得到所有text标签的集合

XmlDocument document = new XmlDocument();                document.LoadXml(System.IO.File.ReadAllText("Tile.xml"));
XmlNodeList textElements = document.GetElementsByTagName("text");

(2)实现更新同步的核心操作

TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification); 

TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);

添加一个item
王者荣耀project
王者荣耀project
磁贴小 磁贴(小)
磁贴中 磁贴(中)
磁贴宽 磁贴(宽)


以上内容皆为本人观点,欢迎大家提出批评和指导,我们一起探讨!


发布了146 篇原创文章 · 获赞 268 · 访问量 53万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章