Xamarin.Forms自定义加载gif作为活动指示器

时间:2014-09-12 12:08:28

标签: xamarin xamarin.forms activity-indicator

我只想知道一些事情是可能的,因为我对Xamarin很新,而且我正在接受任务。我不介意一些试验和错误,但如果不可能的话,不要浪费时间

我希望将动画gif作为活动指示符(它是徽标)。

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

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

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

提前致谢

3 个答案:

答案 0 :(得分:2)

我能够解决这个问题

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

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

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

答案 1 :(得分:1)

使用 ImageView 显然这看起来不像播放动画Gif那样可以在http://forums.xamarin.com/discussion/17448/animated-gif-in-image-view看到。

所以我非常怀疑 ActivityIndi​​cator ,如果可以的话。在 ActivityIndi​​cator 中,我看不到任何功能来更改忙时显示的内容。

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

答案 2 :(得分:1)

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