作者:Gerald Versluis
排版:Alan Wang
.NET MAUI 社区工具包团队很自豪地向您介绍 .NET MAUI 社区工具包的第 8 版!
在这个最新的主要版本中,我们为您带来了备受期待的 TouchBehavior(以前称为 TouchEffect)。此外,请注意 Windows 上 Snackbar 的重大变化,而且您知道可以为 Android 导航栏着色吗?
TouchBehavior
如果您一直在 Xamarin.Forms 应用程序中使用 Xamarin 社区工具包,您可能了解 TouchEffect。自 .NET MAUI 发布以来,Effects 已被弃用,应将其迁移到 (Platform)Behaviors。作为 .NET MAUI 实现的一部分,这正是我们为该功能所做的。
TouchBehavior 提供了基于触摸、鼠标单击和悬停事件与应用程序中的任何可视化元素进行交互的能力。通过 TouchBehavior 实现,可以自定义其所附加的 VisualElement 的诸多不同视觉属性,例如背景颜色、不透明度、旋转和缩放以及许多其他属性。此外,TouchBehavior 还可以实现长按触摸手势,让您能够在用户长按应用程序中的任何视觉元素时调用代码。
ios-touchbehavior-animated
在此,我们要向一直与我们密切合作的社区成员 Alexander(@Axemasta)致以崇高的敬意。他为实现这项很多人一直在期待的巨大功能做了惊人的工作。十分感谢!
没有文档的功能是不完整的,所以我们为您准备好了文档。请注意,与 Xamarin 的 TouchEffect 相比,有一些变化,因此我们添加了一个小节来帮助您进行迁移。
Behaviors 的(重大)更改
作为 TouchBehavior 工作的一部分,我们发现绑定上下文没有正确应用。好消息是我们找到了原因,坏消息是不仅是 TouchBehavior,Toolkit 中的所有其他 Behavior 也受影响。
幸运的是,Brandon 很快找到了根本原因,并提供了修复方案,我们也很快发布了此方案。
从技术上讲,这是一个突破性的变化,我们在这里打破了语义版本控制方案,但我们认为这不会影响很多人。如果我们判断错了,我们深表歉意,请联系我们,以便我们帮助您解决问题。请在存储库上打开一个问题,并提供所有必要的详细信息。
Windows 上 Snackbar 的重大更改
一个新的主要版本通常意味着有令人兴奋的新功能,但也意味着有重大的变化。在这种情况下,在 Windows 上使用 Snackbar 会有一些突破性的改动。
实际上,Vladislav 已经完全重写了 Windows 上的 Snackbar 实现。通过此更改,我们替换了在 Windows 上实现 Snackbar 和 Toast 时所使用的底层代码。因此,我们修复了一些崩溃问题,但更重要的是,当您与 Toast 或 Snackbar 交互时,您的 Windows 应用程序不会再启动另一个实例。
请务必查看 Snackbar 的文档,了解这可能会对您的项目产生哪些影响。或者,如果您确实想了解详细信息,请查看此更改的拉取请求。
Android 导航栏颜色
在我们讨论这个新功能之前,让我们先明确一下我们所讨论的内容。“导航栏”一词似乎会引起一些混淆。通常,当人们想到导航栏时,他们会想到页面顶部的一个带有标题的条形菜单,可能还有一些工具栏项。然而,在 Android 环境中还有系统导航栏。它就是那个带有 3 个按钮,用于返回上一页、打开多任务视图以及返回到设备主屏幕的按钮。这就是我们这里所讨论的导航栏!
基于此,我们来谈谈实际的功能。现在,您可以在 Android 上为该栏着色,这样您的应用程序会更加身临其境,您的主题将与您在屏幕上看到的一切完全融合。
您还可以控制导航栏显示浅色内容或者深色内容,也就是图标是浅色或者深色。这样可以确保导航栏始终与您的应用程序的风格相匹配。
如何开始使用该功能以及关于该功能的所有信息,请参阅文档。
许多错误修复和优化
通过使用现代 .NET 及其功能,我们能够毫不费力地为我们的组织创建一个有效且高质量的网关。我们展示了几个示例,说明如何轻松扩展 .NET 库以满足我们组织的需求。我们对未来的 .NET 版本以及我们与 .NET 团队的持续合作充满期待。
下一步计划
我们很高兴为您带来 .NET MAUI 社区工具包的最新主要版本,当然我们不会就此止步。下一个主要功能已经在开发中,即从 Xamarin 移植到 .NET MAUI 的 CameraView。虽然这是 Toolkit 系列的一部分,但它将作为单独的软件包发布,请留意该软件包。此外,我们正在努力改进 MediaElement,以实现与操作系统更深入的集成,例如从锁定屏幕播放媒体和显示相关元数据,当然还有更多。
让我们知道您对这个最新版本的看法,在 GitHub 存储库加入我们的 Discord 服务器,并参加我们的直播,直播将于太平洋时间每月第一个星期四 12:00 在 .NET Foundation YouTube 频道上进行。
今天您就可以获得所有这些改进!因此,请确保及时将您的 .NET MAUI Community Toolkit 包更新到版本 8 并开始编码!