vs2017打包HTML5之android webview

一.创建前台页面Resources/layout 新建一个layoutIndex.axml 文件内容如下

<?xml version=”1.0″ encoding=”utf-8″?>

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

    android:orientation=”vertical”

    android:layout_width=”match_parent”

    android:layout_height=”match_parent”

    android:minWidth=”25px”

    android:minHeight=”25px”>

    <WebView

        android:layout_width=”match_parent”

        android:layout_height=”match_parent”

        android:id=”@+id/webView1″ />

</LinearLayout>

二.后台调试如何使用HTML5,js,兼容webview MainActivity.cs 内容

using Android.App;

using Android.OS;

using Android.Support.V7.App;

using Android.Runtime;

using Android.Widget;

using Android.Views;

using Android.Webkit;

namespace BodorCloud.AndRoid.App

{

    [Activity(Label = “@string/app_name”, Theme = “@style/AppTheme”, MainLauncher = true, Icon = “@mipmap/ic_launcher”)]//Icon =”@mipmap/ic_launcher”

    public class MainActivity : Activity

    {

        int count = 1;

        Android.Webkit.WebView webview;

        protected override void OnCreate(Bundle bundle)

        {

            base.OnCreate(bundle);

            //隐藏标题栏(须放在SetContentView函数之前)  

            this.RequestWindowFeature(WindowFeatures.NoTitle);

            //设置全屏  

            this.Window.SetFlags(WindowManagerFlags.Fullscreen, WindowManagerFlags.Fullscreen);

            // Set our view from the “main” layout resource  

            SetContentView(Resource.Layout.layoutIndex);

            //需引用using Android.Webkit;命名空间  

            //使用默认的浏览器打开网页  

            // Android.Webkit.WebView webview = new Android.Webkit.WebView(this);  

            // webview.LoadUrl(“http://www.baidu.com”);  

            //使用WebView控件打开指定网页  

            Android.Webkit.WebView webview2 = FindViewById<Android.Webkit.WebView>(Resource.Id.webView1);

            this.webview = webview2;

            webview2.LoadUrl(“http://www.bodorcloud.com/BodorCloudAPP/Login/Choicelanguage”);

            //加载项目中本地文件夹Assets下的test.html文件  

            // webview2.LoadUrl(“file:///android_asset/test.html”);  

            // webview2.LoadUrl(“file:///android_asset/abc/test.html”);  

            //启用脚本  

            webview2.Settings.JavaScriptEnabled = true;

            //支持Storage

            webview2.Settings.DomStorageEnabled = true;

            webview2.Settings.SetAppCacheMaxSize(1024 * 1024 * 8);

            webview2.Settings.AllowFileAccess = true;

            webview2.Settings.SetAppCacheEnabled(true);

           

           

            //设置支持缩放(前提是网页自身支持缩放)  

            webview2.Settings.SetSupportZoom(true);

            webview2.Settings.BuiltInZoomControls = true;

            //支持任意比例缩放  

            webview2.Settings.UseWideViewPort = true;

            //显示缩放控件(放大/缩小按钮)  

            webview2.Settings.DisplayZoomControls = false;

            //自适应屏幕  

            //  webview2.Settings.SetLayoutAlgorithm(WebSettings.LayoutAlgorithm.SingleColumn);  

            //webview2.Settings.LoadWithOverviewMode = true;  

           

            //webview2.ClearCache(true);  

            //后退  

            //webview2.GoBack();  

            webview2.SetWebViewClient(new ExtWebViewClient());

        }

        public override bool OnKeyDown([GeneratedEnum] Keycode keyCode, KeyEvent e)

        {

            //当按下后退键时,返回WebView上一页面,而不是结束  

            if (keyCode == Keycode.Back && webview.CanGoBack())

            {

                webview.GoBack();

                return true;

            }

            //else  

            //{  

            //    return false;  

            //}  

            //默认  

            return base.OnKeyDown(keyCode, e);

        }

    }

    public class ExtWebViewClient : Android.Webkit.WebViewClient

    {

        /// <summary>  

        /// 响应超链接事件,通过改变Load加载方式,  

        /// 使在WebView控件中的连接在当前视图中打开,而不是新窗口中打开  

        /// </summary>  

        /// <param name=”view”></param>  

        /// <param name=”url”></param>  

        /// <returns></returns>  

        public override bool ShouldOverrideUrlLoading(WebView view, string url)

        {

            //默认  

            //return base.ShouldOverrideUrlLoading(view, url);  

            view.LoadUrl(url);

            return true;

        }

        /*

        public override bool ShouldOverrideUrlLoading(WebView view, IWebResourceRequest request)

        {

            //返回false,意味着请求过程里,不管有多少次的跳转请求(即新的请求地址),均交给webView自己处理,这也是此方法的默认处理

            //返回true,说明你自己想根据url,做新的跳转,比如在判断url符合条件的情况下,我想让webView加载http://ask.csdn.net/questions/178242

            //if (Build.VERSION.SdkInt >= Build.VERSION_CODES.Lollipop)

            //{

            //}

            return false;

        }

        */

    }

三.效果如下

vs2017打包HTML5之android webview

更多技术关注

vs2017打包HTML5之android webview

vs2017打包HTML5之android webview》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:https://www.hashtobe.com/688.html