当前位置:  开发笔记 > 编程语言 > 正文

Xamarin表单 - Webview没有显示出来

如何解决《Xamarin表单-Webview没有显示出来》经验,为你挑选了1个好方法。

我正在开发一个小型的Xamarin.Forms webview应用程序.这是对之前回答的问题的后续问题,xamarin-forms-making-webview-go-back

所以我有一个工具栏和一个后退按钮实现和工作.但是当我运行程序时,模拟器已经打开(使用Genymotion),程序运行并显示工具栏和后退按钮......但不会显示webview.

但这是一件奇怪的事情,有时我在模拟器处于睡眠模式时运行程序,然后将程序切换回程序完美.此外,当我在iOS上测试它时,它只是显示工具栏而没有webview!更常见的是,模拟器不会显示webView.我也在我的Android设备上测试了这个,同样的事情发生了,它会显示工具栏但不显示webview.

Abit令人困惑我知道但是任何人都可以帮助我解决这个问题.

我将在下面附上我的代码:

App.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Xamarin.Forms;

namespace WebView_form
{
    public class App : Application
    {
        public App()
        {
            //const string URL = "http://www.google.com";
            MainPage = new NavigationPage(new WebPage());
        }

        protected override void OnStart()
        {
            // Handle when your app starts
        }

        protected override void OnSleep()
        {
            // Handle when your app sleeps
        }

        protected override void OnResume()
        {
            // Handle when your app resumes
        }
    }
}

WebPage.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Emit;
using System.Text;

using Xamarin.Forms;

namespace WebView_form
{
    public class WebPage : ContentPage
    {
        private WebView webView;

        public WebPage()
        {
            webView = new WebView 
            {
                Source = "https://www.google.com"
            };


            // toolbar
            ToolbarItems.Add(new ToolbarItem("Back", null, () =>
                {
                    webView.GoBack();
                }));

            Content = new StackLayout
            {
                Children = { webView }
            };
        }
    }
}

如果有人能帮助我,那就太好了.



1> Gerald Versl..:

如果不起作用,请设置VerticalOptionsFillAndExpand并执行相同操作HorizontalOptions.

可能WebView正在获得零大小的高度,因为当布局发生时,视图仍然是空的.

所以像这样更改WebPage.cs中的代码;

// ... Other code

public WebPage()
{
  webView = new WebView 
  {
     Source = "https://www.google.com",
     VerticalOptions = LayoutOptions.FillAndExpand,
     HorizontalOptions = LayoutOptions.FillAndExpand
  };


  // toolbar
  ToolbarItems.Add(new ToolbarItem("Back", null, () =>
  {
     webView.GoBack();
  }));

  Content = new StackLayout
  {
     Children = { webView }
  };
}

// ... Other code

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有