Xamarin将平台特定组件集成到跨平台代码中

时间:2014-07-28 04:28:24

标签: visual-studio xamarin.ios xamarin xamarin.android loading

我有一个简单的跨平台应用程序,用Xamarin和VS编写。所有的UI都是在一个共享(可移植)类中构建的,因此它只编写一次(使用Xamarin Forms),并涵盖Android和iOS。

我现在只想添加简单的加载HUD,我看不到任何好的跨平台HUD。它们都是为iOS或Android编写的。我只是想知道如何将组件添加到Android和iOS项目并从共享类中访问它。在我的共享类中有一个名为ShowLoading()的方法,它在iOS上加载iOS组件,在Android中加载android(很有趣)。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:1)

这是一个用于跨平台进度的github项目(它使用ANDHud和BTProgressHud)。 https://github.com/aritchie/acr-xamarin-forms

根据示例,您可以做一些简单的事情:

    private readonly IUserDialogService dialogService;

    public ICommand Alert {
        get {
            return new Command(async () => {
                await dialogService.AlertAsync("Test alert", "Alert Title", "CHANGE ME!");
                this.Result = "Returned from alert!";
            });
        }
    }

答案 1 :(得分:0)

您可以使用Dependancy Service从公共代码访问特定于平台的代码。

我还建议您查看BT Progress HUD组件(适用于iOS),以及And HUD组件(适用于Android),以便加载hud。它们可以通过XHUD API以跨平台方式一起使用。