任何人都可以指出一个 Xamarin.forms 示例,该示例利用 Android 的 AndHud 和 iOS 的 BTProgressHud(或类似的东西)?
我知道这里有 ACR-Xamarin-Forms 示例https://github.com/aritchie/acr-xamarin-forms,但它太复杂了,完全超出了我的想象。
当然有一个更简单易于理解的实现,但如果不是某种关于如何开始实现它的指导(对于 C# 和 Xamarin 新手)
提前致谢
任何人都可以指出一个 Xamarin.forms 示例,该示例利用 Android 的 AndHud 和 iOS 的 BTProgressHud(或类似的东西)?
我知道这里有 ACR-Xamarin-Forms 示例https://github.com/aritchie/acr-xamarin-forms,但它太复杂了,完全超出了我的想象。
当然有一个更简单易于理解的实现,但如果不是某种关于如何开始实现它的指导(对于 C# 和 Xamarin 新手)
提前致谢
这就是我为 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 ();
我的答案与@jason 的答案非常相似,可以在这里找到: