Xamarin.Forms实现了AndHud和BTProgressHud

use*_*474 4 c# android activity-indicator ios xamarin.forms

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

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

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

提前致谢

Jas*_*son 11

这就是我为iOS做的.你需要为Android做的就是使用AndHud而不是BTProgressHud来创建IHud的实现.

首先,在共享项目中创建一个接口

public interface IHud
{
    void Show();
    void Show(string message);
    void Dismiss();
}
Run Code Online (Sandbox Code Playgroud)

接下来,在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 ();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

最后,要从Forms代码中使用它,就这样做

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

    // tasks...

    hud.Dismiss ();
Run Code Online (Sandbox Code Playgroud)