前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >把网站改成APP吧-Xamarin WebView

把网站改成APP吧-Xamarin WebView

作者头像
李郑
发布2018-03-01 19:16:11
1.9K0
发布2018-03-01 19:16:11
举报
文章被收录于专栏:漫漫全栈路漫漫全栈路

搭建好Xamarin环境,先来小试牛刀,使用Xamarin的webView来访问网页,从而实现伪WebApp的效果(网站本身移动设备兼容WebView调用)。主要是通过WebApp来访问页面,同时通过重写页面加载方法来防止调用系统浏览器来实现。

使用WebView构建基础框架

首先创建一个项目,并打开Resources - layout -Main.axml文件,从工具箱中添加一个WebView.

从左侧工具栏中找到WebView并拖到我们的界面中,并放大到覆盖整个页面,位置如图:

添加WebView
添加WebView

注意:在左下角的Source中查看源代码

代码语言:javascript
复制
<android.webkit.WebView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/webView1" />

其中width="match_parent"height="wrap_content"默认自适应屏幕尺寸。

添加好WebView,编写根目录的MainActivity.cs文件,在OneCreate()方法中获取WebView进行基础设置。

代码语言:javascript
复制
//获取WebView对象
var webView = FindViewById<WebView>(Resource.Id.webView1);

//申明WebView的配置
WebSettings settings = webView.Settings;

//允许执行JS
settings.JavaScriptEnabled = true;

//设置可以通过js打开窗口
settings.JavaScriptCanOpenWindowsAutomatically = true;

//创建webView客户端类
var webc = new MyCommWebClient();

//设置WebVIew客户端
webView.SetWebViewClient(webc);

//加载的Url
webView.LoadUrl("https://ns96.com");

上述代码中的MyCommWebClient()方法的意义在于,阻止系统调用原生浏览器访问新页面,方法内容如下。

代码语言:javascript
复制
class MyCommWebClient : WebViewClient
{
    //重写加载方法
    public override bool ShouldOverrideUrlLoading(WebView view, string url)
    {
        //使用文本空间加载
        view.LoadUrl(url);
        return true;
    }
}

代码截图:

代码截图
代码截图

调试运行后结果如下图

demo
demo

部署,测试,发布

部署测试参考Xamarin官方文档 部署、测试和指标

程序发布参考Xamarin官方文档 发布应用程序

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用WebView构建基础框架
  • 部署,测试,发布
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档