GIF 图像在 .net MAUI 应用程序中不起作用

2024-03-09

我想在我的应用程序中显示一些 gif 动画图像。 我用来使用 Xamarin.Forms 执行此操作的库是 Xamarin.FFImageLoading.Svg.Forms。现在我们正在将应用程序迁移到 .net MAUI,我看到 MAUI 文档说它支持 GIF 文件。我尝试了一个示例,但没有成功。

我在以下链接中看到了与 gif 相关的错误和解决方法,并且我也尝试了它,但对我来说 gif 动画仍然无法正常工作。

https://github.com/dotnet/maui/issues/5034 https://github.com/dotnet/maui/issues/5034

我的代码在 github 上,公共存储库。

https://github.com/rynjas/GifMauiSample https://github.com/rynjas/GifMauiSample

如果您能帮助我解决这个问题,我将不胜感激。

重现该问题的步骤如下:

  1. 创建示例 .NET MAUI 项目
  2. 将 gif 图像添加到 Resources/images 目录 (giphy.gif)
  3. 将 gif 图像属性的 Build 操作设置为 MauiImage
  4. 在MainPage.xml中添加图片组件,如下 运行应用程序,只出现 GIF 的第一帧,没有动画发生。
    <Image Source="giphy.gif" HeightRequest="200" HorizontalOptions="Center" />
  1. 我按照下面的票证中的解决方法进行操作,因此我将这些步骤添加到 GIFMAUISample/GIFMAUISample.csprojhttps://github.com/dotnet/maui/issues/5034 https://github.com/dotnet/maui/issues/5034
<MauiImage Include="Resources\Images\*" />
<MauiImage Update="Resources\Images\*.gif" Resize="False" />

问题仍然没有解决。


根据官方文档默认加载gif图片时,默认是不会播放的,因为IsAnimationPlaying属性设置为false.

所以,只有你设置后,gif图像才会播放IsAnimationPlaying to true.

这是一个经过测试/工作的示例:

<Image Source="giphy.gif"
       HeightRequest="200" 
       HorizontalOptions="Center" 
       IsAnimationPlaying="True" />

重要警报写在文档中:

虽然 .NET MAUI 中的动画 GIF 支持包括下载文件的功能,但它不支持缓存或流式传输动画 GIF。

还要注意安卓如果它没有在热重载集中播放IsAnimationPlaying to false然后将其设置回true,当您处于热重载模式时,它应该可以正常工作

iOS 和 Mac仍然面临一些问题,因此您可以跟踪:GitHub问题 https://github.com/dotnet/maui/issues/866

微软文档:.NET 毛伊岛 gif 图像 https://learn.microsoft.com/en-us/dotnet/maui/user-interface/controls/image#load-animated-gifs

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GIF 图像在 .net MAUI 应用程序中不起作用 的相关文章

随机推荐

  • 使用 CSS 为黑色图标赋予另一种颜色

    我看到一些应用程序尽管包含黑色图标 但有些应用程序如何使用 CSS 将图标转换为不同的颜色 我似乎无法重复这个过程 这是我的 back css 文件 dashboard buttons a width 80px height 80px bo
  • Solr 搜索查询返回全头异常

    我正在 C 应用程序中调用托管在其他计算机上的远程 solr 搜索 现在 由于我的查询长度变得太大 因此搜索引擎返回全头错误 我无法减少查询长度 所以我只是想知道我可以提出同样的邮寄请求吗 我该怎么做这个 请建议我 谢谢 看起来您遇到了 j
  • 在回调中使用yield?

    我有一个函数y 这应该会产生一些记录 然而 该函数在回调中获取记录 并将其传递给另一个函数d 访问数据 d 不返回或产生任何东西 如果其他功能 这种模式是否可能d 接受回调被认为是黑匣子 替代设计是什么 function y d funct
  • 单元测试、NUnit 还是 Visual Studio? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在使用 Visual studio 有时是 resharper 来运行我的单元测试 我听说过 NUnit 但我对它了解不多 我应该关心它吗
  • 在 kubernetes pod 中获取日志的选项

    kubernetes pod 中的开发人员日志很少 获取日志供开发人员查看的最佳方法是什么 我们可以使用什么特定的工具 我可以选择graylog 但不确定是否可以对其进行定制以使开发人员登录到其中 最基本的方法是简单地使用kubectl l
  • Python:连接(或克隆)一个 numpy 数组 N 次

    我想通过克隆 Mx1 ndarray N 次来创建 MxN numpy 数组 有没有一种有效的 pythonic 方法来代替循环 顺便说一句 以下方法对我不起作用 X 是我的 Mx1 数组 numpy concatenate X numpy
  • 文件读取:feof() 用于二进制文件

    我正在读取一个二进制文件 当它到达终点时 看来它是由 feof 函数终止的 是因为二进制文件没有EOF字符吗 如果是这样我该如何解决它 目前我的代码正在使用 while 循环 while feof f 当它到达文件末尾位置 5526900
  • 为什么 lambda 的大小为 1 个字节?

    我正在使用 C 中的一些 lambda 表达式的内存 但我对它们的大小有点困惑 这是我的测试代码 include
  • 如何将 MemoryStream 中的 PDF 发送到 .Net 中的打印机?

    我使用 iTextSharp 在内存中创建了一个 PDF 并将其包含在 MemoryStream 中 我现在需要将 MemoryStream PDF 转换为打印机可以理解的内容 我过去曾使用报表服务器将页面呈现为打印机格式 但我无法将其用于
  • 从PowerShell 5.1到7.2.5 Get-Service -ComputerName不再存在,那么我如何获取计算机名称?

    我在用着Get Service显示过滤列表 它在 5 1 中运行良好 这就是我在 5 1 中的工作方式 Get Service DisplayName displayName ComputerName computers Sort Obje
  • 没有“提醒”的通知

    我正在尝试创建一个具有高优先级的通知 聊天应用程序 但我的客户要求它不会有 抬头 视图 我尝试过创建一个空布局RemoteViews设置为Notification headsUpContentView但还是什么都没有 这是我尝试过的 Int
  • 背景附件:修复了 translateX(0) 的断裂问题

    我有一个具有固定背景的滚动元素 my element background url foo png no repeat right bottom background attachment fixed 效果很好 通常情况下 但是 如果我对其
  • asp.net mvc 4通过按钮从控制器调用方法

    在我的控制器中 我有类 AccountController 并且在我有这个方法 HttpPost ValidateAntiForgeryToken public ActionResult LogOff WebSecurity Logout
  • Elasticsearch with Tire:具有多个单词的edgeNgram

    假设我有 5 部影片 无太阳 Sansa 这也是吗 索尔 古德 唯一的幸存者 我想实现一个具有以下预期行为的自动完成搜索字段 Sans gt 无太阳 珊莎 无忧无虑 gt 无太阳 所以 gt 这也是 索尔 古德 唯一幸存者 也是 gt 这也
  • ASP.NET MVC 路由和经典 ASP 主页(VBScript,不是 Web 表单)可以很好地协同工作吗?

    我们网站的根目录中有一个经典的 VBScript default asp 页面 这是一个沉重的遗留页面 现在无法选择对其进行转换 我们还有一个新的 ASP NET MVC 2 应用程序 我们希望将其托管在同一站点上 实际上 一切都配合得很好
  • 是否可以重命名带有依赖项的 Maven jar?

    我目前正在使用 jar with dependencies 程序集来创建这样的 jar 不过我的jar名字有点长 由于 AS400 上的 RPG 程序正在使用此 jar 因此我想缩短它以使这些开发人员的生活更轻松一些 但是 除了手动之外 我
  • Golang Gin“c.Param未定义(类型*gin.Context没有字段或方法Param)”

    我尝试使用 Golang 框架 Gin https github com gin gonic gin https github com gin gonic gin 我从官方github复制了示例代码 就像这样 package main im
  • 将命名元组的值从字符串转换为整数

    我正在创建一个脚本来将 csv 文件从其列标题读取到一组命名元组中 然后 我将使用这些命名元组来提取满足特定条件的数据行 我已经计算出输入 如下所示 但在将数据输出到另一个文件之前过滤数据时遇到问题 import csv from coll
  • Rails 多态依赖::destroy 无法正常工作

    假设我有三个 Active Record 模型 class Tissue has many boogers as boogerable dependent destroy end class Finger has many boogers
  • GIF 图像在 .net MAUI 应用程序中不起作用

    我想在我的应用程序中显示一些 gif 动画图像 我用来使用 Xamarin Forms 执行此操作的库是 Xamarin FFImageLoading Svg Forms 现在我们正在将应用程序迁移到 net MAUI 我看到 MAUI 文