標籤:style blog http color io os 使用 ar for
原文:快速構建Windows 8風格應用33-構建徽章
引言
Windows Phone(8&7.5)和Windows 8引入了鎖屏概念,其實做過Windows Phone 7.5應用開發人員都知道7.5時代手機鎖屏是不支援第三方開發人員開發的。那麼現在我們第三方開發人員可以在Windows 8和Windows Phone 8的鎖定畫面開發顯示自己應用的資訊了。
Windows 8 鎖屏具有三種用途:
- 防止觸控裝置上的意外登入嘗試;
- 為使用者提供個人化的介面;
- 向使用者顯示精簡的資訊:日期和時間、網路狀態和電池狀態、來自有限個應用的通知;
一、徽章概覽
Windows 8的鎖屏上一次最多可顯示 7 個應用。這 7 個應用都可以顯示徽章和 Toast,但只允許其中一個應用顯示其最新磁貼通知的文本。
我們可以在“電腦設定”中來添加要顯示在鎖屏上的應用。
關於鎖屏更多詳細資料可參考:鎖屏概述(Windows 市集應用) (Windows)。
二、構建應用徽章
徽章是顯示在磁貼右下角(或左下角)的數字或字形,通常用來指示應用狀態。
徽章是磁貼上的重疊,而不是磁貼本身的一部分,另外徽章可以通過相關通知進行更新。
那麼我們如何聲明一個簡單的應用徽章呢?
1.配置應用資訊清單檔
- “應用程式UI”選項卡中選擇“徽章徽標”,選擇“鎖定螢幕通知”,指定“徽章徽標”。
- “聲明”選擇卡中添加“背景工作“,選擇”支援的任務類型“(注意:具有鎖定畫面 app必須聲明”控制通道“、”計時器“、”推播通知“三種背景工作類型之一),設定”應用程式設定“。
2.添加命名空間
1: using Windows.UI.Notifications;
2: using Windows.Data.Xml.Dom;
其中Windows.UI.Notifications 包含了徽章 API。
3.選擇徽章上顯示數字或字形
徽章可以顯示數字 0-99 或系統定義的狀態字形集。
顯示數字:
1: XmlDocument badgeXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber);
或顯示字形:
1: XmlDocument badgeXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);
4.為鎖定畫面 app分配值
分配數字值:
1: XmlElement badgeElement = (XmlElement)badgeXml.SelectSingleNode("/badge");
2: badgeElement.SetAttribute("value", "7");
或分配字形值:
1: XmlElement badgeElement = (XmlElement)badgeXml.SelectSingleNode("/badge");
2: badgeElement.SetAttribute("value", "newMessage");
5.建立徽章通知並將其發送到徽章
將我們定義好的xml發送到徽章。
1: BadgeNotification badge = new BadgeNotification(badgeXml);
2: BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge);
最後,我們也可以通過BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear()方法將徽章清除,另外徽章可以通過雲清除。
通過以上幾個步驟我們就可以出一個應用的徽章。
更多關於構建徽章的資料可參考:
- 快速入門:發送徽章更新(使用 C#/VB/C++ 和 XAML 的 Windows 市集應用) (Windows)
- 快速入門:在鎖屏上顯示磁貼和徽章更新(Windows 市集應用) (Windows)
三、徽章最佳實務
因為微軟官方給到我們開發人員非常詳細的關於徽章最佳實務的方法,這裡我簡單提及一下。
例如:當應用在徽章上顯示的是數字,並且該數字會大於50,那麼我們推薦使用系統字形類型。
更詳細關於徽章最佳實務的資料可參考:磁貼和徽章指南和清單(Windows 市集應用) (Windows)。
快速構建Windows 8風格應用33-構建徽章