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

news2024/11/21 2:35:20

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1654844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】详解STL容器之一的 vector

目录 概述 迭代器 数据结构 优点和缺点 接口介绍 begin end rbegin rend resize reseve insert erase 其他一些接口 模拟实现 框架 获取迭代器 深浅拷贝 赋值重载 reseve resize 拷贝构造 构造 析构 insert erase 其他 概述 vector是STL的容器之一。…

二叉树遍历总结

7.二叉树 二叉树理论基础 二叉树的种类 在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树。 满二叉树 完全二叉树 二叉搜索树 平衡二叉搜索树 C中map、set、multimap,multiset的底层实现都是平衡二叉搜索树,所以map、set的增…

2024.5.8 2.二叉树的最大深度 (简单)

给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3 示例 2: 输入:root [1,null,2] 输…

GZIP文件格式解析和Inflate静态Huffman解压缩

GZIP是封装了Deflate压缩的格式文件;Deflate使用了无压缩、HuffmanLZ77进行压缩;解压是Inflate,Huffman包括静态Huffman压缩和动态Huffman压缩两种模式。 Java语言实现了GZIP格式解析、Inflate的静态Huffman解压缩、CRC32校验 算法。 gzip文…

7-AMCA Mal,可通过与蛋白质上的巯基反应生成具有荧光的标记物

【产品概述】 7-AMCA Mal,也被称为7-AMCA maleimide,是一种在生物医学领域中常用的荧光染料。 中文名称:7-AMCA 马来酰亚胺 英文名称:7-AMCA Mal,7-AMCA maleimide CAS号:N/A 分子式:C18H17N3…

STEP BY STEP带你使用Docker搭建MySql-MGR高可用集群

数据的重要性 数据已成为当今数字时代最重要的资产之一,对于企业的成功至关重要。它可以帮助企业了解客户、市场和自身运营,提高运营效率,做出明智决策,推动创新,并获得竞争优势。 数据的采集,存储&#…

解析源代码安全的防泄密解决途径

随着各行各业业务数据信息化发展,各类产品研发及设计等行业,都有关乎自身发展的核心数据,包括业务数据、代码数据、机密文档、用户数据等敏感信息,这些信息数据有以下共性: 属于核心机密资料,万一泄密会对…

TCP四次挥手中为什么 TIME_WAIT 等待的时间是 2MSL?

TCP 连接断开 1、TCP 四次挥手过程是怎样的?如下图 2、为什么 TIME_WAIT 等待的时间是 2MSL? MSL 是 Maximum Segment Lifetime,报文最大生存时间,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因…

JavaEE技术之MySql高级-ShardingSphere5(SpringBoot版本:3.0.5)

文章目录 1 ShardingSphere-JDBC读写分离1.1 创建SpringBoot程序1.1.1、创建项目1.1.2、添加依赖1.1.3、创建实体类1.1.4、创建Mapper1.1.5、配置 Spring Boot1.1.6、配置shardingsphere 1.2 测试1.2.1 读写分离测试1.2.2 负载均衡测试1.2.3 事务测试常见错误 2 ShardingSphere…

电子商务对应的职业有哪些?10年互联网人透底行业秘密!

电子商务对应的职业有哪些?10年互联网人透底行业秘密! 事实说话,实事求是,不要再把美颜滤镜下的市场,传给新人小伙伴了! 大家好,我是微三云胡佳东,一家软件公司负责人! …

20240508在RK3588的Buildroot系统下播放MP4视频

20240508在RK3588的Buildroot系统下播放MP4视频 2024/5/8 18:09 开发板:飞凌的OK3588-C SDK:Linux/Buildroot R4版本 4.4.2.5 播放 H264 格式视频 [rootok3588:/]# gst-launch-1.0 filesrc location13850_h264.mp4 ! qtdemux ! queue ! h264parse ! mpp…

3D模型素材有哪些常见的用途?

3D模型素材已经成为了设计、游戏开发、电影制作和建筑等领域的重要工具。它们以其独特的形式和丰富的细节,为这些领域的专业人士提供了无尽的创作可能性。 1.建筑和室内设计:在建筑设计中,3D模型可以帮助建筑师更直观地展示设计方案&#xff…

WiFi原理

一、引言 简介:WiFi,全称Wireless Fidelity,是一种允许电子设备连接到一个无线局域网(WLAN)的技术,通常使用2.4GHz或5GHz UHF(特高频)和SHF(超高频)ISM&…

游戏辅助 -- 三种分析角色坐标方法(CE、xdbg、龙龙遍历工具)

所用工具下载地址: https://pan.quark.cn/s/d54e7cdc55e6 在上次课程中,我们成功获取了人物对象的基址:[[[0xd75db8]1C]28],而人物血量的地址则是基址再加上偏移量278。 接下来,我们需要执行以下步骤来进一步操作&a…

SpringCloud 集成consul,消费者报I/O error on GET request for...

创建消费者微服务,去调用生产者微服务的请求过程中,出现以下错误: 报错原因 因为在使用SpringCloudAlibaba中的Nacos框架时,自动整合了SpringCloud中的Ribbon框架中的负载均衡,因为微服务提供者有两个,在消…

taos数据库服务器安装

涛思数据库服务器安装分为两种情况 一。新服务器直接安装(非常好) 二。旧服务器删除后删除干净再安装(麻烦得很) 先来讲解一下情况一: 找需要的taos安装版本链接:https://docs.taosdata.com/releases/tde…

STM32、GD32驱动PCA9685控制舵机源码分享

一、PCA9685介绍 PCA9685是一种16通道PWM(脉宽调制)控制器芯片,由NXP Semiconductors公司生产。它具有高速I2C总线接口,可以通过I2C总线与微控制器或其他设备进行通信。PCA9685广泛应用于各种需要精确控制多路PWM信号的应用&…

【启明智显技术分享】基于ESP32-S3方案的彩屏固件烧录指南

前言: 【启明智显】专注于HMI(人机交互)及AIoT(人工智能物联网)产品和解决方案的提供商,我们深知彩屏显示方案在现代物联网应用中的重要性。为此,我们一直致力于为客户提供彩屏显示方案相关的技…

ThreeJS:补间动画与Tween.JS

补间动画 补间动画指的是做FLASH动画时,在两个关键帧中间需要做“补间动画”,才能实现图画的运动;插入补间动画后两个关键帧之间的插补帧是由计算机自动运算而得到的。 ——摘自《百度百科:补间动画_百度百科》 Tween.js Tween.js…

JRT失控处理打印和演示

基于JRT完备的脚本化和打印基础,基于JRT的业务可以轻松的实现想要的打效果,这次以质控图的失控处理打印和月报打印来分享基于JRT的打印业务实现。 演示视频链接 失控报告打印 失控处理打印的虚拟M import JRT.Core.DataGrid.GridDto; import JRT.Co…