【问题标题】:Xamarin preload WebView in a TabbedPageXamarin 在 TabbedPage 中预加载 WebView
【发布时间】:2020-08-31 04:36:04
【问题描述】:

我有一个 Xamarin Forms 应用程序,其中一个 TabbedPage 作为应用程序的主页。 TabbedPage 有两个页面,一个是 NavigationPage,另一个是带有 WebView 控件的 ContentPage。

应用加载时 NatigationPage 是活动页面,但我需要同时预加载 WebView。

然而,WebView 仅在平台渲染器创建后才开始导航,并且仅在第一次激活其页面(更改活动选项卡)后才会发生。

有没有办法在不实际导航到该页面的情况下激活该页面?

【问题讨论】:

    标签: xamarin xamarin.forms


    【解决方案1】:

    对不起 ,这是专为移动设备设计的以节省内存。您不能使不可见页面在后台加载 webview。

    首先Tabbed page在运行时也创建了每个页面,只是在页面可见之前不渲染它们。

    第二,建议使用EventsWebView来提升用户体验。

    • Navigating – WebView 开始加载新页面时引发的事件。
    • Navigated – 页面加载且导航停止时引发的事件。

    您可以在 webview 可见之前加载预览视图,这是官方建议的。

    例如,显示一个正在加载的Label 告诉客户,WebView 正在加载。并且在WebView 加载后使Label 不可见。 (也可以客户其他意见,如ImageVideoGif等)

    void webviewNavigating(object sender, WebNavigatingEventArgs e)
    {
        labelLoading.IsVisible = true;
    }
    
    void webviewNavigated(object sender, WebNavigatedEventArgs e)
    {
        labelLoading.IsVisible = false;
    }
    

    【讨论】:

      猜你喜欢
      • 2016-04-10
      • 2021-03-21
      • 2017-09-23
      • 2021-01-16
      • 1970-01-01
      • 2021-09-29
      • 2019-03-20
      • 2018-01-07
      • 1970-01-01
      相关资源
      最近更新 更多