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

Xamarin表示webview不在设备上显示

如何解决《Xamarin表示webview不在设备上显示》经验,为你挑选了1个好方法。

我在过去几天在Xamarin.Forms中开发了一个webview应用程序,并且我已经在Android和iOS模拟器上进行了测试,它似乎在模拟器中运行得很好但是当我去尝试在我自己的Android设备上测试时,它只显示了xamarin splashscreen(我现在使用试用版)然后只是转换到空白的白色屏幕而不是webview.

有没有人有任何想法为什么这样做?

我将在下面附上我的代码: App.cs

using Xamarin.Forms;

namespace WebViewApp
{
    public class App() : Application
    {
        public App()
        {
            // The root page of your application
            MainPage = 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 Xamarin.Forms;

namespace WebViewApp
{
    public class WebPage : ContentPage
    {
        private const string URL = "https://www.google.com";
        private const int PADDING_WIDTH = 0;

        private int paddingHeight;

        private WebView webView;

        public WebPage()
        {
            webView = new WebView
            {
                Source = URL,
                VerticalOptions = LayoutOptions.FillAndExpand,
                HorizontalOptions = LayoutOptions.FillAndExpand
            };

            CheckDevice();

            Content = new StackLayout
            {
                Padding = new Thickness(PADDING_WIDTH, GetPaddingHeight()),
                Chrildren = { webView }
            };
        }

        public int GetPaddingHeight()
        {
            return paddingHeight;
        }

        /// 
        /// This will set the padding height for the webview when displayed
        /// 
        /// Set integer value for the padding height.
        public void SetPaddingHeight(int pHeight)
        {
            paddingHeight = pHeight;
        }

        private void CheckDevice()
        {
            if(Device.OS == TargetPlatform.Android)
            {
                SetPaddingHeight(0);
            }
            else if(Device.OS == TargetPlatform.iOS)
            {
                SetPaddingHeight(20);
            }
        }
    }
}

**更新**我正在使用公司网站,但我一直在测试这个应用程序与许多不同的网站,如谷歌,YouTube和亚马逊.似乎唯一不会在我的设备上显示的网站是我的公司网站(它是一个响应式网站),但所有其他网站都这样做.



1> JazziJeff..:

从版本9开始,iOS将仅允许您的应用程序与默认情况下实现最佳实践安全性的服务器进行通信.必须在Info.plist中设置值以启用与不安全服务器的通信.

NSAppTransportSecurity
    
        NSAllowsArbitraryLoads 
        
    

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