Windows 10 开发 - 动态磁贴



本章将讨论通过磁贴与用户的交互。它是 Windows 10 的标志性部分。磁贴显示在**开始屏幕**和**开始菜单**上。换句话说,它是一个应用程序图标资源,以各种形式出现在整个 Windows 10 操作系统中。它们是您的通用 Windows 平台 (UWP) 应用的名片。

磁贴结构

磁贴有三种状态。

  • **基本状态** - 开始磁贴的基本组件包括底板、图标和应用标题。

Basic State
  • **半动态状态** - 与基本磁贴相同,唯一的区别在于徽章(一个数字)可以显示 0-99 的数字。

Semi-Live state
  • **动态状态** - 此磁贴包含半动态状态磁贴的所有元素,还显示额外的内容板,您可以在其中放置任何内容,例如照片、文本等。

更新磁贴

有四种方法可以更新磁贴。

  • **计划** - 您可以使用**ScheduledTileNotification**设置模板和时间。

  • **周期性** - 当从 URI 检索信息时,您可以指定一段时间后拉取信息的时间,例如 30 分钟、1 小时、6 小时等。

  • **本地** - 本地磁贴可以从您的应用程序更新;可以从前台或后台应用程序更新。

  • **推送** - 通过从服务器推送信息来更新。

要创建磁贴,请按照给定的代码操作。

var tileXml = 
   TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150Text01); 
 
var tileAttributes = tileXml.GetElementsByTagName("text"); 
tileAttributes[0].AppendChild(tileXml.CreateTextNode("Hello"));
			
var tileNotification = new TileNotification(tileXml);			
TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);

**更新徽章**非常简单,因为它只是一个数字,您可以设置如下所示的徽章值。

var type = BadgeTemplateType.BadgeNumber; 
var xml = BadgeUpdateManager.GetTemplateContent(type);  

var elements = xml.GetElementsByTagName("badge"); 
var element = elements[0] as Windows.Data.Xml.Dom.XmlElement; 
element.SetAttribute("value", "7");
  
var updator = BadgeUpdateManager.CreateBadgeUpdaterForApplication(); 
var notification = new BadgeNotification(xml); 
updator.Update(notification);

让我们在 Visual Studio 中创建一个新的 UWP 项目。

  • 您将在**解决方案资源管理器**中的**Assets**文件夹下看到不同的 png 文件。

Assets Folder
  • 让我们在包清单中定义默认磁贴及其图像。

  • 双击**package.appxmanifest**。这将打开清单编辑器窗口。

  • 选择**视觉资源**选项卡。

Visual Assets
  • 您可以为应用程序磁贴选择具有任何指定尺寸的图像和图标。在**磁贴图像和徽标**下,为所有徽标提供了默认图像,例如:

    • 71x71 正方形徽标
    • 150x150 正方形徽标
    • 310x310 正方形徽标
    • 商店徽标
  • 执行应用程序后转到开始屏幕,您将看到应用程序的磁贴。

Execute Your Application
广告
© . All rights reserved.