技术速递|介绍 .NET MAUI 社区工具包 v8 :包含 TouchBehavior 支持!

2024-05-08 21:52

本文主要是介绍技术速递|介绍 .NET MAUI 社区工具包 v8 :包含 TouchBehavior 支持!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者: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 并开始编码!

这篇关于技术速递|介绍 .NET MAUI 社区工具包 v8 :包含 TouchBehavior 支持!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/971542

相关文章

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器