如何以Xamarin形式创建诸如Whats App,电报之类的媒体下载程序?以及如何创建Whats App UI

时间:2019-03-13 16:55:59

标签: xamarin image-processing xamarin.forms xamarin.android xamarin.ios

我正在Xamarin.Forms中创建社交应用程序,我想在其中实现媒体下载器来下载图像和视频。目前,我正在使用Xamarin.FFImageLoading.Transformations nuget加载图像。 如何使用用于Android和iOS的xamarin表单创建Whatsapp UI?

我想实现手动媒体下载功能,并以缩略图形式显示进度,例如whatsapp,电报移动应用程序。

var cachedImage = new CachedImage() {
    HorizontalOptions = LayoutOptions.Center,
    VerticalOptions = LayoutOptions.Center,
    WidthRequest = 300,
    HeightRequest = 300,
    CacheDuration = TimeSpan.FromDays(30),
    DownsampleToViewSize = true,
    RetryCount = 0,
    RetryDelay = 250,
    TransparencyEnabled = false,
    LoadingPlaceholder = "loading.png",
    ErrorPlaceholder = "error.png",
    Source = "http://loremflickr.com/600/600/nature?filename=simple.jpg"
};

https://github.com/luberda-molinet/FFImageLoading enter image description here enter image description here enter image description here

建议在Xamarin.FormsXamarin.AndroidXamarin.iOS中实现上述功能的任何方法。

4 个答案:

答案 0 :(得分:4)

@Sumeet我的理解如下,如果我错了,请指正:-

应用程序用户将有以下四个选项:

  1. 如果用户选择自动下载选项...  当我们打开应用程序时,该应用程序中的媒体会自动下载,或者在后台可以下载该媒体。

  2. 如果用户从用户设置中选择通过WiFi下载选项  一旦用户连接到WiFi,媒体将被下载。

  3. 如果用户从设置中选择“手动下载媒体”选项 仅当用户选择要下载的特定媒体后,才应下载应用媒体
  4. 如果用户选择“不下载”选项  不允许用户下载应用程序中的媒体内容。

答案 1 :(得分:3)

对于使用Xamarin Forms进行文件下载,Damien Aicheh有一篇不错的文章:

https://damienaicheh.github.io/xamarin/xamarin.forms/2018/07/10/download-a-file-with-progress-bar-in-xamarin-forms-en.html

对于循环进度对话框,您可以参考James Montemagno的这篇文章: https://blog.xamarin.com/using-custom-controls-in-xamarin-forms-on-android/

您需要创建自定义xaml,将加载程序放置在视图顶部,并根据文件下载进度更新UI。

希望这会有所帮助!

答案 2 :(得分:0)

如果您想要一个真实的进度条,则可能需要自己接管图像下载并构建自定义控件。您 可能能够扩展或修改CachedImage,但不确定它们是否在其流下载器中提供了钩子(您希望将其替换为报告进度的钩子)。

另一种选择是仅显示带有类似https://github.com/DanielCauser/XamarinFFImageLoadingAndLottie

的动画

答案 3 :(得分:0)

发现可以使用Xamarin Forms创建类似Whats应用程序和功能的UI,请检查以下链接 https://github.com/egbakou/WhatsAppUI

和下面的链接是针对Xamarin Forms的一些美观的UI(适用于android和iOS)

https://github.com/jsuarezruiz/xamarin-forms-goodlooking-UI