折叠时文本框区域不显示

时间:2022-03-09 03:07:19

Toast Notification 在 UWP App 中有很重要的感化,,能够很洪流平上增强 App 和用户之间的相同,好比运营推广勾当、版本更新、提醒类任务提示等等。Toast Notification 可以通过图片、文字、按钮等创建可适配、可交互的通知。

我们在 About Windows 10 SDK Preview Build 17110 中对 Toast Notification 做了简单的介绍,本篇会从开发角度更更深入的解读。Toast Notification 主要分为网络内容通知和本地内容通知,本篇我们主要存眷 Toast Notification 的以下新增成果的内容开发和显示,对付触发通知的源暂不细讲:

图片尺寸限制

进度条

新增的输入选项

开发过程

NuGet 安置

为了在 UWP 中实现 Toast Notification,我们需要引入一个 SDK:Microsoft.Toolkit.Uwp.Notifications ,通过 NuGet 在 Visual Studio 的Package Management 中安置:

Install-Package Microsoft.Toolkit.Uwp.Notifications -Version 2.2.0

根本实现

我们来实现一个样式对照根本的 Toast Notification,Toast 的内容主要包孕以下几个部分:

Launch — 界说一个参数,当用户点击 Toast 时传回到应用中,允许开发者深度链接到 Toast 显示的正确内容对应的应用页面内容中;

Visual — Toast 的静态内容展示部分,包孕文本和图像等;

Actions — Toast 的可交互部分,包孕可点击的按钮,文本输入等;

Audio — 当 Toast 显示时,播放的音乐。

这里我们界说了 ToastContent 需要的根基内容:

string title = "Shaomeng sent you a picture"; string content = "Check this out!"; string image = "ms-appx:///assets/test.jpg"; string logo = "ms-appx:///assets/shaomeng.jpg"; // Construct the visuals of the toast ToastVisual visual = new ToastVisual() { BindingGeneric = new ToastBindingGeneric() { Children = { new AdaptiveText() { Text = title }, new AdaptiveText() { Text = content }, new AdaptiveImage() { Source = image } }, AppLogoOverride = new ToastGenericAppLogo() { Source = logo, HintCrop = ToastGenericAppLogoCrop.Circle } } }; // In a real app, these would be initialized with actual data int conversationId = 384928; // Construct the actions for the toast (inputs and buttons) ToastActionsCustom actions = new ToastActionsCustom() { Buttons = { new ToastButton("Like", new QueryString() { { "action", "like" }, { "conversationId", conversationId.ToString() } }.ToString()) { ActivationType = ToastActivationType.Background }, new ToastButton("View", new QueryString() { { "action", "viewImage" }, { "imageUrl", image } }.ToString()) } }; ToastAudio audio = new ToastAudio() { Src = new Uri("ms-appx:///assets/test.mp3", UriKind.RelativeOrAbsolute) };

define content for Toast Content

使用上面的内容,界说一个 ToastContent,并把它显示出来:

ToastContent toastContent = new ToastContent() { Launch = "test string", Visual = visual, Actions = actions, Audio = audio, }; var toast = new ToastNotification(toastContent.GetXml()); ToastNotificationManager.CreateToastNotifier().Show(toast);

折叠时文本框区域不显示

图片尺寸限制

Toast Notification 中允许使用的图片来源包孕:,ms-appx:///,ms-appdata:///

对付网络图片,图片尺寸限制的单位是单个图片尺寸。16299 以后,normal connections 的限制是 3MB,metered connections 的限制是 1MB;而之前的限制统一是 200 KB。可以看到对网络图片的尺寸限制放宽了很多,很多高清晰度的图片也可以被使用。

如果你的图片赶过了这个尺寸限制,或者下载过程中掉败,超时,通知会正常被显示,不过图片部分会被放弃。