技术速递|介绍 .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 并开始编码!

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

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

相关文章

Hutool 只复制不为空的属性

在使用 Hutool 的工具类进行复制时,有时候需要只复制不为空的属性。 比如在修改时,先把数据库中的数据查出来: SysArea sysArea getById(dto.getId());此时再以传入值复制到数据库表对象中,但如果传入值中有属性为null&#xf…

MM模块学习一(供应商创建,物料类型的定义及功能)

物料管理流程: 源头:采购需求->采购申请 MRP:物料需求计划。运行物料需求计划的结果,根据物料的性质来判断是外购(采购申请)或者是生产(计划订单->生产订单)。 采购申请&am…

力扣:最大子数组和

在这里和大家分享一下关于最大子数组和、最小子数组和的算法题。 其中最大子数组在力扣刷题中遇到,最小子数组和在笔试中遇到,虽然一个为最大,一个为最小,但是它们的思路完全一样,而且在写法上也是对称的,…

Termux安装某个Python包时只能pip install但是又出错的解决办法

在安装pandas时用pkg search pandas是没有内容的,这时候只能用pip install pandas安装,但是途中一定会报错,导致安装失败,解决办法是先安装tur-repo,即 pkg install tur-repo 然后搜索pandas,有pkg安装包…

Thinkphp5 中常见的session 操作方法

在 ThinkPHP 框架中,session 是用于在多个页面或请求之间存储用户信息的机制。以下是在 ThinkPHP 中进行 session 常见操作的一些示例: 启动 Session 在 ThinkPHP 中,通常不需要手动启动 Session,因为框架会在应用启动时自动处理…

在Linux中安装Docker

如果之前安装过旧版本的 Docker,可以使用下面命令卸载: yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine…

500的项目研发成本2000?

上个月接了一个小程序的二开项目,功能不多就2个诉求:调整首页数据排序规则,帖子详情增加一个海报,报了一个我认为还比较合适的价格500。 当我拿到代码的那一刻有点小害怕,因为这个客户的之前合作过一次,项…

17.接口自动化学习-日志

1.日志输出渠道 &#xff08;1&#xff09;文件格式 xx.log &#xff08;2&#xff09;控制台输出 2.日志级别 debug<info<warnning<error<critical 3.代码实现 from utils.handle_path import log_path import logging import datetime def logger(fileLogTr…

LeetCode 35.搜索插入位置

给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2 示例 2: 输入…

数值计算方法——大题题型总结

目录 一、绝对误差限、相对误差限 1.1 例题 1.2 解题套路 1.3 题解 二、敛散性、收敛速度 2.1 例题 2.2 解题套路 2.3 题解 三、牛顿迭代法 3.1 例题 3.2 解题套路 3.3 题解 四、割线法 4.1 例题 4.2 解题套路 ​4.3 题解 五、列主元素消去法 5.1 例题 5.…

|Python新手小白中级教程|第二十六章:面向对象编程(示例操作)(2)

文章目录 前言实操一、分析游戏《外星人入侵》的初始化代码实操二、自制游戏的初始化数据总结 前言 大家好&#xff0c;我是你们的BoBo仔吖&#xff0c;今天我们学习的东东是续上节课的内容。上节课我们初识对象编程操作class类&#xff0c;今天我们就来实操 实操一、分析游戏…

Ansible——playbook编写

一、简介 1.什么是playbook Ansible Playbook 是设定自动化任务的一种蓝图&#xff0c;可在无需人工干预或有限干预的前提下执行复杂的 IT 操作。Ansible Playbook 对一组或一类共同构成 Ansible 清单的主机执行。 Ansible Playbook 本质上是一些框架&#xff0c;是一些预先编…

多线程基础知识(全面):创建线程、线程状态如何变化、wait()、notify()、sleep()、停止线程

文章目录 一、创建线程的四种方式1.1 继承Thread类1.2 实现runnable接口1.3 实现Callable接口1.4 线程池创建线程1.5 补充&#xff1a;runnable、callable都可以创建线程&#xff0c;有什么区别&#xff1b;run()和 start()有什么区别 二、线程包括哪些状态、状态之间如何变化2…

第1个数据库:编号,文本,时间,

写一个数据库 编号 文本 时间1 第一个文本 有100万条数据 -- 创建一个名为texts的表格来存储数据 CREATE TABLE texts ( id INTEGER PRIMARY KEY, text TEXT, time TIMESTAMP DEFAULT CURRENT_TIMESTAMP);-- 插入数据INSERT INTO texts (text) VALUES (第一个文…

书单 | 6本AI领域名家名作,大模型时代,趁风而起!

–文末赠书– 大模型时代&#xff0c;想抓住风口吗&#xff1f; 本期书单就来分享6本AI领域名家名作&#xff0c;给大家把大模型时代那些事儿讲清楚&#xff01; 放心&#xff0c;入门的同学也可以从最基础的学起~~ 快来看看有哪些书吧…… 01 ▊《多模态大模型&#xff1…

PCIe下一代线缆标准CopprLink发布

作为业界广泛采用的高速串行点对点互联标准&#xff0c;PCIe自诞生以来历经多次迭代升级&#xff0c;现已成为CPU、GPU、FPGA、SSD等计算设备间不可或缺的互连桥梁。PCIe 7.0标准更是将数据传输速率提升至令人惊叹的32 GB/s&#xff08;每通道&#xff09;。 然而&#xff0c;面…

JS_监听dom变化触发,new MutationObserver

MutationObserver 是一个用于监测 DOM 变化的接口&#xff0c;它提供了一种机制来异步观察在特定元素或文档中发生的 DOM 变化。 MutationObserver 的作用包括&#xff1a; 1.监测 DOM 变化&#xff1a;你可以创建一个 MutationObserver 实例&#xff0c;并指定一个回调函数。…

js中对象转数组常用的方法

对象转数组 有多种方法可以将对象转换为数组&#xff0c;以下是其中一些常用的方法&#xff1a; Object.keys()和map()方法&#xff1a; const obj {a: 1, b: 2, c: 3}; const arr Object.keys(obj).map(key > obj[key]); console.log(arr); // [1, 2, 3] Object.value…

PPT弹簧画法

1. 插入两个圆 2. 使用Lvyhtools的形状-位置分布-圆形阵列 注意:阵列中心要点击文字后才能选择 3. 删除中心的圆,使用Onekey10的原位复制,可以多次; 4. 右击图像选择设置形状格式-线条(无线条) 5. 找到第二个选项,深度设置大小为0.3-0.6磅 6. 再次到Onekey10界面,选择…

深度解析DPO及其变体在多种任务上的表现如何,该如何选择

深度学习自然语言处理 原创作者&#xff1a;wkk 单位&#xff1a;亚利桑那州立大学paper&#xff1a;Insights into Alignment:Evaluating DPO and its Variants Across Multiple TasksLink&#xff1a;https://arxiv.org/pdf/2404.14723 今天&#xff0c;我要带大家深入了解一…