热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

XamarinFormsHybridWebview始终在浏览器中打开

如何解决《XamarinFormsHybridWebview始终在浏览器中打开》经验,为你挑选了1个好方法。

我已经实现了HybridWebView,如下所述:https : //developer.xamarin.com/guides/xamarin-forms/application-fundamentals/custom-renderer/hybridwebview/

现在,我已经在渲染器中对网址进行了硬编码,如下所示:

Control.LoadUrl("http://www.google.com");

结果是打开了url,但始终在新的浏览器中,而不像我期望的那样嵌入到我的ContentPage中。

我可以使用Android.Webkit.WebView上的Settings属性来确定其显示方式吗?



1> Grace Feng..:

结果是打开了url,但始终在新的浏览器中,而不像我期望的那样嵌入到我的ContentPage中。

对于android平台,Android.Webkit.WebView您可以从代码中看到它作为本机控件:

if (COntrol== null) {
    var webView = new Android.Webkit.WebView (Forms.Context);
    webView.Settings.JavascriptEnabled = true;
    SetNativeControl (webView);
}

然后,对于Android.Webkit.WebView,如果您未启用活动以处理查看网页的意图,则它是一个简单的网页查看器,而不是浏览器,因为单击链接后,默认的Android浏览器就会处理它。为了实现它,这个代码可以去任何地方的初始化如下WebViewwebView.SetWebViewClient(new WebViewClient())。因此,您可以添加以下代码,例如:

if (COntrol== null) {
    var webView = new Android.Webkit.WebView (Forms.Context);
    webView.SetWebViewClient(new WebViewClient());
    webView.Settings.JavascriptEnabled = true;
    SetNativeControl (webView);
}

通常,我们还WebViewClient可以继承并重写ShouldOverrideUrlLoading,如果它返回true,则意味着该方法已经处理了URL,并且该事件不应传播。


推荐阅读
author-avatar
虹彩戳穿_525
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有