天天看点

Windows 8.1 应用再出发 - 磁贴的更新

本篇和大家一起了解一下Windows 8.1 中磁贴的更新,我们来看看如何利用它做出更好的应用磁贴。

首先我们从展现形式上来对比一下Windows 8 与 Windows 8.1 中的磁贴:

Windows 8支持两种尺寸的磁贴,正方形磁贴(150 * 150 像素)和长方形磁贴(310 * 150 像素)。如下图中邮件和日历属于长方形磁贴,地图和应用商店等属于正方形磁贴。

Windows 8.1 应用再出发 - 磁贴的更新

Windows 8.1在8.0 的磁贴种类基础上,多支持了两种尺寸的磁贴,小磁贴(70 * 70 像素)和 大磁贴(310 * 310 像素)。

这样一来Windows 8.1 一共支持四种尺寸的磁贴,分别为小磁贴、中磁贴(原正方形磁贴)、宽磁贴(原长方形磁贴)和大磁贴。

如下图中IE和地图等属于小磁贴,阅读列表属于中磁贴,资讯属于宽磁贴,天气属于大磁贴。需要注意的是,小磁贴是不支持动态磁贴的。

Windows 8.1 应用再出发 - 磁贴的更新
看完了展现形式,我们来看看怎样在应用中设置这四种磁贴呢?这里我们用到的就是程序清单文件(Package.appxmanifest)。
Windows 8.1 应用再出发 - 磁贴的更新

这里我们看到的是程序清单文件的可视化界面,可以直接的看到,应用允许我们提供四种尺寸的磁贴。

应用默认磁贴大小有两种选择:310 * 150 宽磁贴 或者 150 * 150 中磁贴。(Windows 8.1 中,应用安装后,磁贴不会出现在“开始”屏幕,默认磁贴大小的设置会在用户固定应用时生效)

我们可以指定哪几种磁贴显示应用名称,但是小磁贴是无法显示名称的(另外小磁贴不支持动态磁贴,如我们前面所讲)。

四种磁贴中,70 * 70 小磁贴 和 150 * 150 中磁贴是所有应用都支持的。310 * 150 宽磁贴 和 310 * 310 大磁贴是可选择的。

但有两点需要注意:1. 如不支持宽磁贴,则默认大小不可选择为宽磁贴。2. 如想支持大磁贴,则必须支持宽磁贴。

我们分别按照每种磁贴的尺寸要求设置磁贴,然后来看看程序清单文件的变化:

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
  ...
  <Applications>
    <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="Win8._1UpdateControls.App">
      <m2:VisualElements DisplayName="磁贴的更新" Description="Win8.1UpdateControls" ForegroundText="light" BackgroundColor="#464646" 
                         Square150x150Logo="Assets\Logo.png" Square30x30Logo="Assets\Square30x30Logo.png">
        <m2:DefaultTile Square70x70Logo="Assets\Square70x70Logo.png" DefaultSize="wide310x150Logo" 
                        Square310x310Logo="Assets\Square310x310Logo.png" Wide310x150Logo="Assets\Wide310x150Logo.png">
          <m2:ShowNameOnTiles>
            <m2:ShowOn Tile="square150x150Logo" />
            <m2:ShowOn Tile="wide310x150Logo" />
            <m2:ShowOn Tile="square310x310Logo" />
          </m2:ShowNameOnTiles>
        </m2:DefaultTile>
        <m2:SplashScreen Image="Assets\SplashScreen.png" />
      </m2:VisualElements>
    </Application>
  </Applications>
  <Capabilities>
    <Capability Name="internetClient" />
  </Capabilities>
</Package>      

如上面代码所示:

1. 小、中、宽、大磁贴对应的名称分别是:Square70x70Logo、Square150x150Logo、Wide310x150Logo 和 Square310x310Logo。

2. 默认磁贴大小为:DefaultSize="wide310x150Logo" 代表默认为宽磁贴,如果默认是中磁贴,那代码会变为:DefaultSize="square150x150Logo"。

3. 显示名称的磁贴种类在<m2:ShowNameOnTiles>...</m2:ShowNameOnTiles>节点中定义。

 这样我们就把Windows 8.1 中磁贴的更新介绍完了,接下来的几篇我们还会对Windows 8.1 带来的其他更新做出介绍,谢谢。