WP8.1 Study18:动态磁贴

一、前言

  动态磁贴在WindowsPhone8.1和Windows8.1都是其特色,有人喜欢有人讨厌,不过我觉得还是挺好的,可以让使用者很快知道App内的内容和吸引使用者打开App。下面来学习下怎样添加动态磁贴,其实挺简单的。

二、磁贴的模板(tile‘s templates)

  windows8.1上的磁贴和windowsphone上的磁贴的模板大致相同,msdn文档https://msdn.microsoft.com/en-us/library/windows/apps/hh761491.aspx?f=255&MSPPError=-2147217396 上可以找到你所需要的磁贴模板。磁贴主要是peek,block,imagecollection。通过查看msdn提供的文档,可知磁贴模板是通过xml格式的内容控制的,简单的例子如下:

<tile>
  <visual version="2">
    <binding template="TileWide310x150PeekImage02" fallback="TileWidePeekImage02">
      <image id="1" src="image1.png" alt="alt text"/>
      <text id="1">Text Field 1 (larger text)</text>
      <text id="2">Text Field 2</text>
      <text id="3">Text Field 3</text>
      <text id="4">Text Field 4</text>
      <text id="5">Text Field 5</text>
    </binding>
  </visual>
</tile>

效果如图:

三、后台代码

  更新App的磁贴十分简单,C#代码如下:

XmlDocument tileDoc = new XmlDocument();tileDoc.LoadXml("<my tile XML/>");

TileNotification myNewTile = new TileNotification(tileDoc);

TileUpdater myTileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
myTileUpdater.Update(myNewTile);

四、具体demo

 public static void CreatTiles()
        {
            string TileSquare150x150Image = @"ms-appx:///Assets/SmallLogo.scale-240.png";
            string TileSquare310x150Image = @"ms-appx:///Assets/WideLogo.scale-240.png";
            XmlDocument tileXML=new XmlDocument();
             ////////////////////////////////////////////////////////
            // Find all the available tile template formats at:
            //      http://msdn.microsoft.com/en-us/library/windows/apps/Hh761491.aspx

            string tileString = "<tile>" +
              "<visual version=\"2\">" +
              "<binding template=\"TileSquare150x150PeekImageAndText01\" fallback=\"TileSquarePeekImageAndText01\">" +
                  "<image id=\"1\" src=\"" + TileSquare150x150Image + "\" alt=\"alt text\"/>" +
                  "<text id=\"1\">" + "MOV A #01H" + "</text>" +
                   "<text id=\"2\">" + "把01H赋值给累加器A" + "</text>" +
                "</binding>" +
                "<binding template=\"TileWide310x150PeekImage01\" fallback=\"TileWidePeekImage01\">" +
                  "<image id=\"1\" src=\"" + TileSquare310x150Image + "\" alt=\"alt text\"/>" +
                  "<text id=\"1\">" + "MOV A #01H" + "</text>" +
                  "<text id=\"2\">" + "把01H赋值给累加器A" + "</text>" +
                "</binding>" +
              "</visual>" +
            "</tile>";
            tileXML.LoadXml(tileString);
            //新建磁贴通知
            TileNotification tile = new TileNotification(tileXML);
            //更新磁贴通知
            TileUpdater updateTiler = TileUpdateManager.CreateTileUpdaterForApplication();
            updateTiler.EnableNotificationQueue(false);
            updateTiler.Update(tile);
        }

每当要更新磁贴信息,只需要调用此方法即可。

时间: 2024-08-24 17:33:44

WP8.1 Study18:动态磁贴的相关文章

【Win10 UWP】后台任务与动态磁贴

动态磁贴(Live Tile)是WP系统的大亮点之一,一直以来受到广大用户的喜爱.这一讲主要研究如何在UWP应用里通过后台任务添加和使用动态磁贴功能. 从WP7到Win8,再到Win10 UWP,磁贴模板不断进行调整和优化,目前磁贴模板已经发展到第三代,一般称之为“Adaptive Tile Templates”. 在运用UWP动态磁贴之前,请先了解一下自适应磁贴的语法规则.关于自适应磁贴模板的语法规则,请详读这篇文章:http://blogs.msdn.com/b/tiles_and_toas

Win8.1应用开发之动态磁贴

using demo02.Common; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using Windows.ApplicationModel; using Windows.ApplicationModel.Activation; using Windows.Fou

【万里征程——Windows App开发】动态磁贴

动态磁贴是什么,相信大家用了这么久的Windows 8/8.1/10早就非常了解了吧. 像什么小磁贴.中磁贴.宽磁贴.大磁贴,还有这里的应用商店Logo等,大家在下面根据不同的分辨率选择合适的图片就好啦. 下面来做一个更新磁贴页面的功能,这是页面XML部分. <StackPanel Margin="12"> <StackPanel Orientation="Horizontal"> <TextBlock FontSize="2

【UWP通用应用开发】使用Toast通知与动态磁贴

使用Toast通知示例 前面我们使用了MessageDialog来作为弹窗,这里来介绍一个更加高大上的Toast通知. Toast通知本质上动力是由XML来提供的,一开始我还不相信不知道XML原来有这么大的威力.现在就来看看和Toast相关的知识. 1)实例化ToastNotification类. ToastNotification toast1 = new ToastNotification(xdoc); 2)使用ToastNotificationManager来管理Toast通知,包括添加.

UWP开发:教你给App加上动态磁贴

UWP开发:教你给App加上动态磁贴 UWP应用的一大特色就是动态磁贴,所以,你的应用如果还没有设置动态磁贴,那么,和我一起来为应用加上动态磁贴吧! UWP动态磁贴可以通过消息推送实现,可以通过后台任务实现.我所用的方式,是通过注册后台任务的方式来实现. 方法: 使用后台任务更新动态磁贴: 其中,用到的API主要有如下两个. IBackgroundTask BackgroundTaskBuilder 第一步:创建后台任务项目: 要为应用启用动态磁贴,请向你的解决方案中添加一个新的 Windows

Windows App开发之使用通知与动态磁贴

使用Toast通知示例 前面我们使用了MessageDialog来作为弹窗,这里来介绍一个更加高大上的Toast通知. Toast通知本质上动力是由XML来提供的,一开始我还不相信不知道XML原来有这么大的威力.现在就来看看和Toast相关的知识. 1)实例化ToastNotification类. ToastNotification toast1 = new ToastNotification(xdoc); 2)使用ToastNotificationManager来管理Toast通知,包括添加.

UWP Windows10开发更新磁贴和动态更新磁贴

原文:UWP Windows10开发更新磁贴和动态更新磁贴 下面将介绍两种方式如何在windows10 uwp开发中如何更新应用磁贴: 实际上windows的磁贴就是用xml实现的,你只需要创建相应格式的xml就可以实现动态磁贴了 一,手动更新磁贴 二,轮询更新磁贴 [第一种方式]手动更新磁贴 创建一个文本框和一个按钮,当按钮点击时,磁贴就会显示文本框的文本 给按钮绑定一个事件,代码如下 private void changeBtn_Click(object sender, RoutedEven

【转】WP8.1开发人员预览版本已知 Bug

偶的 Lumia 920 已经升级到最新的 8.1 开发人员预览版本,使用中没有发现什么问题. 可能是因为偶玩手机的情况比较少吧!忽然看到 MS 停止此版本的更新,并说明有很多的 BUG,偶就郁闷了. 以下是从网络上复制过来的,大家看看吧. Windows Phone 8.1开发者预览版推出近1周,抢先体验和测试多多少少遇到了一些问题,有的是系统固件方面的问题,有的官方或第三方应用方面的问题,还有的是系统功能的改变带来的问题. 不想尝试新版WP8.1或者嫌麻烦的机友可以直接等今夏开始的WP8.1

WinPhone学习笔记(四)——磁贴

对每个Windows Phone的使用者来说,给他们的第一印象就是大大小小的磁贴——Metro,本篇介绍的是Windows Phone的磁贴,提到的有开始菜单的磁贴,也有在App里面的磁贴. 开始菜单的磁贴 首先介绍了一下每个磁贴的构造,每个磁贴分正反两面,正反两面都有图标,而正面有一个标题和统计数量(一般用作消息推送的时候用),在背面就有一个描述性的内容,下图就摘自MSDN上的图片,图中黑色字体其实就是每个磁贴数据类的属性,这个稍后会提到 对于一个磁贴来说,他的图片像素建议是173*173像素