<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                WINDOWS 10 2015 年特別版 此文章由機器翻譯。 # 通知 - Windows 10 中的自適應和交互式通知 通過?[Thomas Fennel](https://msdn.microsoft.com/zh-cn/magazine/mt149362?author=Thomas+Fennel)?|Windows 2015 年 在開發人員的工具箱影響用戶實施中的幾個工具喜歡通知。它們是否滲透到操作系統中的體驗 Windows mobile、 Windows 桌面上,Xbox 或甚至 HoloLens。沒有通知向用戶提供不可否認誘餌。從幫助完成某項任務例如回復輸入一條消息,與提供簡單和及時信息,如新聞標題和甚至取悅他們提供它們實際上并不希望的體驗 — 例如 Cortana 提醒 — 通知向用戶提供值和與您的應用程序對它們進行溝通。 ## 什么是 Windows 中的通知? 通知表示多種類別的整個操作系統的用戶合作。從用戶的角度來看,通知都包含在許多體驗。 圖塊是最圖標的窗體的通知的 Windows 操作系統。您在其他外觀造型和設備類型在 Windows 桌面和移動和在各種情形下的開始屏幕上看到磁貼。圖塊向用戶提供以下幾個好處。 首先,它們是啟動應用程序使用主磁貼的快速方法 — 這些是您從固定應用程序列表直接到開始接觸和待定或右鍵單擊列表中的應用程序的磁貼。它們還作為一種方法以獲取直接對內容使用輔助磁貼的應用程序中更深入地 — 這些都是一名開發人員會與用戶同意的情況下從應用程序中以編程方式固定磁貼。 可以說是更重要的是圖塊能夠通過該磁貼本身,通過動態磁貼提供從應用程序中的內容中提供與客戶合作。這些為您提供一種方法來訪問用戶沒有它們實際啟動您的應用程序 — 正在天氣預報和您最喜歡的團隊的賽事比分老套的示例。獲取該信息快速地在開始菜單上的一個地方可以取悅用戶。 Toast 是在移動設備的頂部或右下角的桌面屏幕彈出通知。它們是查找讓用戶與應用程序通過啟動它的中斷通知。在 Windows 10 之前點擊 toast 通知可能僅啟動用戶到應用程序與開發人員在創建通知時無法設置某些靜態參數。此外,在 Windows 10 之前沒有移動通知稱為警報和創建用戶不得不在干別的事情之前做出響應的較大的模式對話框的提醒。這兩個類似于 toast,并已被融入調用操作所需的 Toast 通知的類別。 徽章是通知的最終類型。您所處位置通常在應用程序中的丟失項的計數在鎖屏上主要看到徽章。有時它們表示狀態的小標志符號或者 — 思考的感嘆點或其他類似。在主和輔助磁貼還表示徽章。 ## 如果東西還沒壞,問題就不用修理 當我們開始研究自適應和交互式通知時,我們已賣力根據我們聽到有關的狀態的同時在 Windows Phone 和 Windows 8 上的通知開發人員社區的反饋。我們不想創建新的東西只是因為...我們曾經所有生活所在,通過在過去,它是我們如何得到與此類大通知技術、 基礎結構和 Windows Phone 和 Windows 桌面之間的開發人員模型之間的差異。而是面向 Windows 10 我們側重于開發人員喜歡有關這兩個平臺中的現有通知框架和作出這樣做的時候我們需要,而不是簡單地嘗試完全擺脫我們舊的承諾。因為我們不只啟動 Windows 10 是有趣的時候,我們也已集成到一個平臺團隊的 Windows Phone 和 Windows 團隊。在這一轉換,它不能總是輕松地采用此類原則性方法,但我們知道它是國際義人將這兩個領域的最佳組合在一起,并將該結果 — 自適應和交互式通知表示"一個 Microsoft"方法。 ## 不能縮放磁貼和 Toast 模板目錄 開發人員那如何設計這些磁貼和 toast 通知? 以前版本的 Windows 有靈活性相對較差的一系列模板我們將放入該磁貼和 toast 模板目錄。這些模板允許開發人員能夠輕松、 經濟地創建視覺上與 Windows 設計語言一致的通知。但是,若要創建的映像和開發人員可能想的文本配置的所有可能排列,我們最終建立數百個幾乎完全相同的模板。 圖 1?列舉了我們在 Windows Phone 8.1 和 Windows 8.1 中提供的磁貼目錄。Text01 是單個行中使文本換行。Text02 是非換行文本的四個單獨的行。Text03 是具有單個行中使文本換行的標頭。Text04 是具有三行非換行文本的標頭。這些顯然不會擴展到開發人員可能希望每個可能組合。 ![](https://box.kancloud.cn/2016-01-08_568f406f0a565.png)? 圖 1 從磁貼模板的四個模板目錄中提供樣式和布局中只有細微的差異 例如,如果您需要兩行文本換行嗎? 遺憾的是,這并不是目錄的一部分這樣說來使用僅限映像的模板和呈現自定義位圖。但是,從而會產生模糊文本時縮放到不同的分辨率要高得多的數據使用情況時在后臺任務中生成位圖時從云,以及對性能的影響和不可靠,無法下載。 因為存在實際上只有兩個樣式,toast 是問題甚至多多。沒有從技術上講八個模板,但它們細分到 toast 與映像或映像,而 toast 中所示?圖 2。從開發人員的反饋表明不只是兩種布局不足夠靈活 toast,沒有交互式甚至以簡單方式。相當于文字量較在其中顯示 toast — 說三、 四行 — 無法容易地消耗在小屏幕上因為我們只介紹了前兩個文本行最多。即使基本交互性如能夠展開以顯示更多的內容的通知不可能與現有的框架。 ![](https://box.kancloud.cn/2016-01-08_568f406f2e1a8.png)? ![](https://box.kancloud.cn/2016-01-08_568f406f7c289.png)? 圖 2 Toast 模板中的兩個模板目錄 ## 不是每個開發人員 (或可以承受) 若要創建豐富的通知 模板解決重要的問題,因為設計、 開發和測試自定義繪制如動態磁貼通知是具有挑戰性且成本高昂。我們通知的平臺上的各種外觀造型和屏幕密度運行和我們支持五個不同的平鋪大小和兩個 toast 大小,其中所有需要自定義設計、 開發和測試。模板可以因為想要創建通知我們模板語言適合開發人員可以受益最少的開發成本和幾乎為零測試成本來緩解這一困難并我們采用以確保它們看起來將其既美觀又具備跨所有屏幕的負擔。 開發人員無需擔心邊距、 填充、 字體大小或權重 ;他們可以通過粘貼一些 xml 并更改某些 特性創建既美觀又具備并與我們的語言一致的內容。 一次是功能強大需要提供一些靈活的開發人員集成帶有其自己的品牌的內容。開發人員花費大量資金和時間創建獨特的外觀和生成的品牌得以吸引用戶。突出顯示該品牌是工作的我們項核心原則構建。 ## 這對于模板意味著什么? Windows 10 中的模板有效地服務于只有一個主要用途: 若要針對特定的磁貼大小。在 Windows 10 桌面和移動,我們有小型、 中型和寬磁貼。在桌面中我們還提供其他大小對于大型的圖塊。我們認為這些磁貼在邏輯 4-units-wide-by-4-units-high 網格方面。較小的磁貼在該網格上占據 1 x 1 單位 — 小方塊,真正 — 因此較小的名稱。中等磁貼占用該網格中或中等方塊上的 2 x 2 單位。是否理解一種趨勢嗎? 寬磁貼是在該網格中的 4 x 2 單位和大型的圖塊是完整的 4x4 單位。 我們已在設計時自適應和交互式通知,我們得出的結論是我們可以采取各種措施來折疊到只是大小的關鍵核心的目錄。我們最終建立用于磁貼的只有四個模板 — TileSmall、 TileMedium、 TileWide 和 TileLarge — 和一個用于 toast 模板: ToastGeneric。在將來我們希望進一步折疊和具有內容所在之間所有磁貼大小相同的方案的 TileGeneric 模板。然后開發人員可以只是提供一個模板用于其磁貼。 在以前版本的 Windows 中,模板還提供定義動畫特征的整個圖面。必須以顯示圖像通過它循環訪問集合的動畫的圖塊將具有其自己的模板。同樣,若要顯示的縮略圖一次設置動畫效果和淡入集合所需的圖塊需要另一個模板。現在動畫的處理也是通過對新的提示-* 我們引入了,我稍后將討論其中的屬性。 即使有了所有這些我們將不要棄用的舊模板目錄。如果開發人員無需更改的服務器或用于構造其通知客戶端代碼升級到新通用 Windows 平臺 (UWP) Windows 10 中,應用程序將繼續工作在 Windows 10 mobile 上的出色和桌面。事實上,一些以前不起作用一致地或根本移動和桌面之間現在很好地工作。例如,正確地在 Windows Mobile 10 上使用任何 ToastImageAndText0 * 模板其中該層以前被省略的通知中顯示的圖像。 ## 自適應和交互式通知 Windows 10 中我們發展我們通知的故事來通過引入三個主要功能提供更豐富的開發人員體驗和用戶體驗。 第一種是自適應磁貼/toast,它提供一個靈活的架構來生成更直觀地豐富的通知并使其在不同外觀造型自適應顯示。 第二個是交互式的 toast,提供一種簡單的交互創建 toast 通知,這樣用戶可以執行快速的操作或通知中的嵌入式答復而無需激活該應用程序并要求用戶從他們當前的操作的上下文切換的方法。 第三個是允許應用程序訂閱有關 toast 通知的歷史記錄更改的事件以便時由系統還是用戶處理其自己的 toast 通知應用程序可以獲得通知。實質上這是一種方法要了解為其應用程序在操作中心內已更改的內容。 ## 自適應動態磁貼和操作中的自適應和交互式 Toast 通知 我將使用新的自適應和交互式通知來演示如何構建展示磁貼的關鍵方面,并且使用實際的應用場景的 toast 的典型項目。具體而言,我將簡要介紹可以使用電子郵件應用程序中的新通知的類型。 我將從開始您的電子郵件應用程序的磁貼。如何創建該磁貼本身,通過您的主磁貼的應用程序清單或通過輔助磁貼的 Api,根據我們您尚未在進行任何重大更改時在 Windows 10 版本中,因此我不打算深入了解如何執行這些操作,因為它們已經存在完備。磁貼和 toast 布局定義是使用語義的 XML 架構,通常稱為通知負載。實際上,我將關注上為圖塊是如何創建使用新的外觀更豐富的磁貼體驗磁貼模板和相應的 XML 負載。 我將創建新的電子郵件通知控件為用戶顯示的自適應的磁貼通知。吸引用戶的最好方式是文本的為其提供的新消息由于最后一次打開它們結合使用的應用程序的消息是文本的從與之進行計數和幾行中的電子郵件正文。圖 3?顯示如下 Windows 10 桌面上的所有四個大小。 ![](https://box.kancloud.cn/2016-01-08_568f406f9d399.png)? 圖 3 小型組織、 中、 寬和大 10 的 Windows 桌面上的磁貼 圖 4?描述表示中的圖塊的通知負載?圖 3。 圖 4 創建中等規模的自適應磁貼的 XML 負載 ~~~ <binding template="TileMedium" branding="logo"> ? <group> ??? <subgroup> ????? <text hint-style="caption">Matt Hidinger</text> ????? <text hint-style="captionsubtle">Photos from our trip</text> ????? <text hint-style="captionsubtle">Check out these awesome photos ??????? I took while in New Zealand!</text> ??? </subgroup> ? </group> ? <text /> ? <group> ??? <subgroup> ????? <text hint-style="caption">Lei Xu</text> ????? <text hint-style="captionsubtle">Build 2015 Dinner</text> ????? <text hint-style="captionsubtle">Want to go out for dinner after ??????? Build tonight?</text> ??? </subgroup> ? </group> </binding> ~~~ 有幾個有意思的操作中需要注意?圖 4。 首先,僅顯示中等磁貼,看到在 TileMedium 綁定中,因為所有四種大小的 XML 相當長的負載。以重新生成所示的所有圖塊?圖 3, ,將需要也使用 TileSmall、 TileWide 和 TileLarge 模板,雖然它們具有每個非常相似的內容。您可以將所有這些綁定到一個通知負載。 其次,是實際的通知中的內容不是在該圖塊上顯示。您可以看到這由兩個不同組的 和 標記表示。為什么會這樣呢? 因為此圖塊可能會顯示在多個屏幕密度,因此我提供了詳細信息以防它獲取可顯示更多的內容的高密度屏幕上顯示。 和 標記可幫助系統可以知道哪些內容要放置在一起在語義上使事情不會剪切掉奇怪放置 — 它是您的方法來描述您想要盡量將顯示在一起的信息"單元"。 要注意的第三個問題是在負載中間本身懸掛的文本元素。這是實際指定一個簡單的空行的方式在大型磁貼示例中可以看到。 最后的提示-* 可以在此負載中看到我之前提到的元素。這些是全新的靈活性我們引入了可幫助您執行某些操作 (如中所示的簡單文本樣式有很大一部分?圖 5。大量的提示,您可以指定圖像的不透明度等內容、 裁剪和偶數就應該的是個人資料照片如何進行動畫處理圖塊上的項的某些特定環境。在 MSDN 博客上提供了可用提示及其他圖塊詳細信息的詳細信息?[bit.ly/1NYvsbw](http://bit.ly/1NYvsbw)。 ![](https://box.kancloud.cn/2016-01-08_568f406fb81f6.png) 圖 5 在左側,而不是在右側的高密度屏幕低密度的屏幕上的中等磁貼 若要進一步說明有關的信息密度,這一點?圖 5?是舉例說明如何從負載?圖 4?低密度高密度屏幕與屏幕上顯示。我知道似乎中等磁貼旁邊大型的磁貼,但在現實生活中的表示形式通常在價格更低的旗艦產品手機上找到一個高密度屏幕與手機上找到一個低密度的屏幕上的中等磁貼。 現在我將轉到第二個有趣和有吸引力所無法做的事情,這次是使用具有自適應性并交互式 toast 通知。同樣,與該磁貼 Api,在您創建的 toast 通告程序和 toast 對象的方法中為 nothing 已更改 toast Api 中。就像磁貼,什么是真正新增此處是可以使用這些 Api 使用的負載。 您可以創建當接收到新的電子郵件時顯示并為用戶提供了一些即刻這兩個,從而幾行文本從電子郵件和幾個簡單的快速操作要在電子郵件自身上執行一個 toast 通知。兩個人們做封電子郵件中的最常見的事情是要將項目標記為已讀,因此它們無需在更高版本,請參閱其郵件列表中和立即刪除郵件時再次行業關注它。在 Windows 10 桌面上,這種 toast 通知將如下所示?圖 6。 ![](https://box.kancloud.cn/2016-01-08_568f406fda3c5.png) 圖 6 具有自適應性并交互式 Toast 可能會看到電子郵件應用程序使用 中的 XML?圖 7?就會生成通知中所示?圖 6。 圖 7 自適應和交互式 Toast 可能會看到電子郵件應用程序使用 ~~~ <toast> ? <visual> ??? <binding template="ToastGeneric"> ????? <text>Andrew Bares</text> ????? <text>Ideas for blog posts and the template visualizer.</text> ????? <text>Hey guys, I've got some great ideas for the blog and ???? ???some feature ideas for the...</text> ????? <image placement="AppLogoOverride" hint-crop="circle" src="AndrewBares.png" /> ??? </binding> ? </visual> ? <actions> ??? <action activationType="background" content="Mark Read" arguments="read" /> ??? <action activationType="background" content="Delete" arguments="delete" /> ? </actions> ? <audio src="ms-winsoundevent:Notification.Mail"/> </toast> ~~~ 如使用磁貼通知負載前所示,有一些有趣的新問題要注意從 toast 負載中?圖 7, ) 以及。 首先,與不同的是以前的模板,您可以自由地指定文本元素并他們并不需要其自己的 Id。我創建了三行文本 toast 通知中使用三個單獨的文本元素。 其次,請注意第一行文本加粗而不是所有后續行。現在,您不能使用所有的提示-* 因此此文本樣式始終之前將一直應用 toast 為將來的版本在那里我們會在啟用更多提示和樣式 toast 文本中顯示 toast、 磁貼通知上可用的樣式。但是,您可以使用一些提示。例如,請注意該提示裁剪屬性運作此處我可裁剪 Andrew 通過使用它在組合中,我可以 AppLogoOverride 放置屬性顯示為一個很好的圓圈的圖像來代替能夠正常顯示應用程序徽標圖像。可用的提示和其他 toast 通知的詳細信息的詳細信息可在 MSDN 博客上[bit.ly/1N3o7GY](http://bit.ly/1N3o7GY)。 最后,在負載操作部分中,請注意如何有使用電子郵件執行常見任務的人員使用單個操作元素創建的兩個按鈕。參數是應用程序在單擊按鈕和調用應用程序時將收到。在這種情況下,我使用背景 activationType 因為我想要處理這些操作在應用程序的后臺任務。或者,您可以讓如果您想要啟動該應用程序無法完成該操作的前景 activationType 或協議 activationType 如果您想要調用某個 Web 站點或通過標準協議啟動應用程序到應用程序進行通信。 現在,我已創建顯示通知所需的 XML 負載,我需要處理上此交互式 toast 通知的用戶所采取的操作。 若要啟動,因為我選擇背景 activationType,我需要我可以在其中執行代碼的后臺任務。該任務需要在應用程序 Package.appxmanifest,聲明中所示?圖 8。 ![](https://box.kancloud.cn/2016-01-08_568f4070095a7.png) 圖 8 聲明后臺任務以處理在 Package.appxmanifest 中的交互式 Toast 操作 然后,一旦在 Package.appxmanifest 中注冊該任務,您可以將代碼添加到您的后臺任務來實際處理用戶操作。在?圖 9?您可以看到可將您自己的代碼來處理操作的簡單存根。 圖 9 句柄參數或后臺任務中的用戶輸入 ~~~ namespace Tasks { ? public sealed class ToastHandlerTask : IBackgroundTask ? { ??? public void Run(IBackgroundTaskInstance taskInstance) ??? { ????? // Retrieve and consume the pre-defined arguments and user inputs here. ????? var details = taskInstance.TriggerDetails as NotificationActionTriggerDetails; ????? var arguments = details.Arguments; ????? // Handle either marking the mail as read or deleting it from the database. ??? } ? } } ~~~ 現在您有應用程序可以動態地在您的圖標上顯示吸引人視覺的內容和加入針對其最快速的用戶通常所需的操作使用 toast。您的應用程序是更有用且很不一般吧給用戶,并且它們可以快速獲取新信息和不需要在從當前做了什么應用程序的上下文切換與您的體驗進行交互。我們期待到一些令人稱奇你將需要執行操作并真誠期望您將 Windows 10 中獲得更好的用戶合作到自適應和交互式通知中。 * * * Thomas Fennel?*是首席項目經理會導致在 Microsoft 在 Windows 開發人員生態系統和平臺部門。與他聯系?[tfennel@microsoft.com](mailto:tfennel@microsoft.com)。*
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看