1

我只是想知道一些可能的事情,因为我对 Xamarin 很陌生,而且我的任务有时间限制。我不介意一些尝试和错误,但如果不可能,我不想浪费时间

我想要一个动画 gif 作为活​​动指示器(它是一个徽标)。

我让它在 WebView 中工作 - 在 Xamarin,Forms 中是否有可能在等待长时间运行的方法时让它显示为覆盖?

例如。如果用户单击按钮,应用程序会从 Web 服务获取一些信息,然后显示在页面中。在等待时,我想显示 webview(或任何其他显示动画 gif 的方式)。

所以我不是要代码,而是要它是否可行。

提前致谢

4

4 回答 4

2

我能够解决这个问题

随着在 WebView 页面中运行的动画(加载)gif,我使用以下方法调用了几个异步方法

await Task.WhenAll(method1(), method2());
await Navigate.PushAsync(new NextPage(var1, var2));

laoding gif(这是一个动画标志)一直运行到任务完成,然后导航到下一页

于 2014-09-17T14:05:11.907 回答
1

使用ImageView显然这看起来不可能播放动画 Gif,如可以在此处看到的http://forums.xamarin.com/discussion/17448/animated-gif-in-image-view

因此,如果可以的话,我非常怀疑ActivityIndi​​cator是否会这样做。在ActivityIndi​​cator中,我看不到任何功能来更改忙碌时显示的内容。

但是,您始终可以通过创建自定义渲染器来创建自己的动画图像视图。如果您有一个拆分的图像列表,则以预定的间隙循环图像并不是特别困难。

于 2014-09-12T12:18:53.427 回答
1

GIF 图像可以在 Xamarin 表单中用于显示自定义活动指示器,因为在 Xamarin 表单中无法直接显示 GIF 图像,必须使用 web 视图。对于 android 图像必须放在 assets 文件夹中,并且 Build Action 必须设置为 AndroidAsset。对于 iOS 图像必须放在资源中,并且 Build Action 必须设置为 BundleResource。AbsoluteLayout 可用于将图像置于中心,mvvm helpers nuget 的 IsBusy 属性可用于控制活动指示器的可见性。必须使用依赖服务来获取图像路径。例如,您可以检查此https://github.com/LeslieCorrea/Xamarin-Forms-Custom-Activity-Indicator

于 2018-08-30T15:55:38.727 回答
0

Xamarin.Forms 现在支持 .GIF,从版本 4.4-pre3 及更高版本在 iOS、Android 和 UWP 上。使用前,请先将 .GIF 添加到平台项目中,或者作为共享项目中的嵌入资源,然后像普通图像一样使用它。Image 控件上的 API 已使用IsAnimationPlaying可绑定属性进行了扩展。

例如,在所有平台项目中都添加了 loader.gif,然后下面的代码使其具有动画效果。

<Image Source="loader" IsAnimationPlaying="True" WidthRequest="36" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" />
于 2021-09-16T11:36:23.973 回答