11
4
内容纲要

WebView是一个非常重要的控件,移动开发过程中会经常使用WebView来显示数据。WebView的使用非常简单,创建相应的对象,使用LoadData或者LoadUrl方法加载html数据,前者是价值html字符串,后者是加载一个可访问的URL地址。

这是基本应用,WebView还有两个高级应用,一个是显示加载的百分比,另外一个是支持返回按钮。

1、如何加载百分比

这里需要对WebView的方法进行重写,如下所示:

private class AwesomeWebClient : WebViewClient { }

private class AwesomeWebChromeClient : WebChromeClient

{

private Activity mParentActivity;

private string mTitle;

public AwesomeWebChromeClient(Activity parentActivity)

{

mParentActivity = parentActivity;

mTitle = parentActivity.Title;

}

public override void OnProgressChanged(WebView view, int newProgress)

{

mParentActivity.Title = string.Format("Loading {0}%", newProgress);

mParentActivity.SetProgress(newProgress * 100);

if (newProgress == 100) mParentActivity.Title = mTitle;

}

}

然后,调用相应的WebView方法:

newsWebView = FindViewById<WebView>(Resource.Id.newsWebView);

newsWebView.Settings.JavaScriptEnabled = true;

newsWebView.Settings.SetSupportZoom(true);

newsWebView.Settings.BuiltInZoomControls = true;

newsWebView.Settings.LoadWithOverviewMode = true; //Load 100% zoomed out

newsWebView.ScrollBarStyle = ScrollbarStyles.OutsideOverlay;

newsWebView.ScrollbarFadingEnabled = true;

newsWebView.VerticalScrollBarEnabled = true;

newsWebView.HorizontalScrollBarEnabled = true;

newsWebView.SetWebViewClient(new AwesomeWebClient());

newsWebView.SetWebChromeClient(new AwesomeWebChromeClient(this));

2、点击返回按钮后退网页

这个比较简单,重写OnKeyDown方法即可,如下所示:

public override bool OnKeyDown(Android.Views.Keycode keyCode, Android.Views.KeyEvent e)

{

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

{

newsWebView.GoBack();

return true;

}

else

{

this.Finish();

return base.OnKeyDown(keyCode, e); 

}

}


声明: 本文采用 BY-NC-SA 协议进行授权. 未标注“转”的文章均为原创,转载请注明转自: Mono for android中使用WebView,并显示加载百分比,返回按钮使用

公告栏

欢迎大家来到我的博客,我是dodoro,希望我的博客能给你带来帮助。