本篇和大家一起了解一下Windows 8.1 中磁贴的更新,我们来看看如何利用它做出更好的应用磁贴。
首先我们从展现形式上来对比一下Windows 8 与 Windows 8.1 中的磁贴:
Windows 8支持两种尺寸的磁贴,正方形磁贴(150 * 150 像素)和长方形磁贴(310 * 150 像素)。如下图中邮件和日历属于长方形磁贴,地图和应用商店等属于正方形磁贴。
Windows 8.1在8.0 的磁贴种类基础上,多支持了两种尺寸的磁贴,小磁贴(70 * 70 像素)和 大磁贴(310 * 310 像素)。
这样一来Windows 8.1 一共支持四种尺寸的磁贴,分别为小磁贴、中磁贴(原正方形磁贴)、宽磁贴(原长方形磁贴)和大磁贴。
如下图中IE和地图等属于小磁贴,阅读列表属于中磁贴,资讯属于宽磁贴,天气属于大磁贴。需要注意的是,小磁贴是不支持动态磁贴的。
看完了展现形式,我们来看看怎样在应用中设置这四种磁贴呢?这里我们用到的就是程序清单文件(Package.appxmanifest)。这里我们看到的是程序清单文件的可视化界面,可以直接的看到,应用允许我们提供四种尺寸的磁贴。
应用默认磁贴大小有两种选择: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 带来的其他更新做出介绍,谢谢。