Xamarin 在webview加载期间显示SplashScreen

Xamarin 在webview加载期间显示SplashScreen,xamarin,xamarin.forms,xamarin.android,Xamarin,Xamarin.forms,Xamarin.android,我正在构建一个Xamarin应用程序,显示一个网络视图;当前,当应用程序开始使用MainActivity.cs上的代码时,我会显示启动屏幕: [Activity(Label = "App.Xamarin", Icon = "@mipmap/icon", Theme = "@style/Theme.Splash", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | C

我正在构建一个Xamarin应用程序,显示一个网络视图;当前,当应用程序开始使用MainActivity.cs上的代码时,我会显示启动屏幕:

[Activity(Label = "App.Xamarin", 
    Icon = "@mipmap/icon", 
    Theme = "@style/Theme.Splash", 
    MainLauncher = true, 
    ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
现在,当webvieb启动/停止加载其内容时,我需要在我的webviewrenderer中显示相同的启动,因此我有了自己的WebViewClient:

internal class CusViewClient : WebViewClient
{
    string _javascript;

    public SistemiWebViewClient(string javascript)
    {
        _javascript = javascript;
    }

    public override void OnPageStarted(Android.Webkit.WebView view, string url, Android.Graphics.Bitmap favicon)
    {
        base.OnPageStarted(view, url, favicon);

        view.Visibility = ViewStates.Invisible;
    }

    public override void OnPageFinished(Android.Webkit.WebView view, string url)
    {
        base.OnPageFinished(view, url);
        view.EvaluateJavascript(_javascript, null);

        view.Visibility = ViewStates.Visible;
    }
}

但是我找不到显示启动的正确方法。

我最终使用进度条而不是启动屏幕图像来显示chrome客户端中页面加载的进度,代码如下:

    public class CusWebChromeClient : WebChromeClient
    {
        Android.Widget.ProgressBar progressBar;

        public SistemiWebChromeClient(Android.Widget.ProgressBar progressBar)
        {
            this.progressBar = progressBar;
        }

        public override void OnProgressChanged(Android.Webkit.WebView view, int newProgress)
        {
            if (newProgress < 100 && progressBar.Visibility == ViewStates.Gone)
            {
                progressBar.Visibility = ViewStates.Visible;
            }

            progressBar.SetProgress(newProgress, true);

            if (newProgress == 100)
            {
                progressBar.Visibility = ViewStates.Gone;
            }
        }
    }
公共类CusWebChromeClient:WebChromeClient
{
Android.Widget.ProgressBar ProgressBar;
公共系统WebChromeClient(Android.Widget.ProgressBar ProgressBar)
{
this.progressBar=progressBar;
}
public override void OnProgressChanged(Android.Webkit.WebView视图,int newProgress)
{
if(newProgress<100&&progressBar.Visibility==ViewStates.Gone)
{
progressBar.Visibility=ViewStates.Visible;
}
progressBar.SetProgress(newProgress,true);
如果(newProgress==100)
{
progressBar.Visibility=ViewStates.Gone;
}
}
}

如果您使用的是XF,您可以将启动图像放置在webview上,并在webview通过导航的
事件加载页面时将其隐藏。XF您能给我举个例子吗?我需要重新使用我的splash code,你能分享一下你首先使用webview的页面代码吗?下面是非常简单的检查一下我的要点,以便更好地理解我说的和