技术速递|介绍 .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

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2