4

任何人都可以指出一个 Xamarin.forms 示例,该示例利用 Android 的 AndHud 和 iOS 的 BTProgressHud(或类似的东西)?

我知道这里有 ACR-Xamarin-Forms 示例https://github.com/aritchie/acr-xamarin-forms,但它太复杂了,完全超出了我的想象。

当然有一个更简单易于理解的实现,但如果不是某种关于如何开始实现它的指导(对于 C# 和 Xamarin 新手)

提前致谢

4

2 回答 2

11

这就是我为 iOS 所做的。对于 Android,您需要做的就是创建一个使用 AndHud 而不是 BTProgressHud 的 IHud 实现。

一、在共享项目中创建接口

public interface IHud
{
    void Show();
    void Show(string message);
    void Dismiss();
}

接下来,在 iOS 项目中,使用 BTProgressHud 组件创建 IHud 的实现:

[assembly: Dependency(typeof(Hud))]
namespace project.iOS
{
    public class Hud : IHud
    {
        public Hud ()
        {
        }

        public void Show() {
            BTProgressHUD.Show ();
        }

        public void Show(string message) {
            BTProgressHUD.Show (message);
        }

        public void Dismiss() {
            BTProgressHUD.Dismiss ();
        }
    }
}

最后,要从表单代码中使用它,只需执行

    var hud = DependencyService.Get<IHud> ();
    hud.Show ("Loading Vehicles");

    // tasks...

    hud.Dismiss ();
于 2014-09-17T19:43:10.967 回答
1

我的答案与@jason 的答案非常相似,可以在这里找到:

加载布局屏幕 Xamarin android 的图标

于 2015-03-20T03:49:05.967 回答