您的位置:首页 > 移动开发

android跨平台开发系列之-初识webview(一)

2016-09-03 13:28 423 查看
一、初识webview

想了解一个类是用来干什么的,有什么用,最好的方法就是研究它的源码,源码中通常在前面写了大量的注释,接下来我们看下webview的源码。

<p>A View that displays web pages. This class is the basis upon which you
* can roll your own web browser or simply display some online content within your Activity.
* It uses the WebKit rendering engine to display
* web pages and includes methods to navigate forward and backward
* through a history, zoom in and out, perform text searches and more.</p>
* <p>Note that, in order for your Activity to access the Internet and load web pages
* in a WebView, you must add the {@code INTERNET} permissions to your
* Android Manifest file:</p>
只贴出了部分源码,具体可以去看详细官方文档()简而言之,webview就是android上的浏览器,能实现PC端一样的浏览网页的功能,在android中以一个控件的方式来让我们使用,接下来讨论如何使用它。

二、webview的用法

注意:不要忘了添加权限 <uses-permission android:name="android.permission.INTERNET"/>

1.最简单的用法

WebView wv = new WebView(mContext);
wv.loadUrl("www.baidu.com");
跟其他view控件一样的用法,也可以在xml中使用。

2.loadUrl其它方法

loadUrl可以加载本地和网页,loadDada则是对本地的数据进行加载,来分别看下如何使用它好了;

* - loadUrl(String url); 只要PC能访问的url,粘贴到这里都能访问

* - loadUrl(String,Map<>); 就是访问那种post请求中携带参数的url地址;

* - loadData(String data,String mimeType,String encoding);

稍微有点html知识的人都应该很容易了解这个方法的实际用途; 参数data的意思 == html中的document内容,mimeType == "text/html;charset=UTF-8" ;encoding = null;

loadDataWwithBaseURL(null, data, "text/html", "UTF-8", null);

3.View/ViewGroup的功能

因为最终继承至ViewGroup,所以有一些LayoutParam属性可以设置,这里举个简单的使用方法;

<span style="white-space:pre">	</span>LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
params.setMargins(10, 10, 10, UIUtils.dp2px(60));
mWebView.setLayoutParams(params);

隐藏滚动条

//隐藏滚动条
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);


其它属性

//翻页
mWebView.pageDown(false);
mWebView.pageUp(false);<pre name="code" class="java">        //滚动
mWebView.scrollTo(x,y);
mWebView.getScrollY(); 获取当前位置<pre name="code" class="java">        mWebView.getScrollX();





4.WebSettings

<span style="white-space:pre">	</span>WebSettings ws = mWebView.getSettings();
WebSettings的一些常见用法

<span style="white-space:pre">	</span>setAllowFileAccess	启用或禁用WebView访问文件数据
setBlockNetworkImage	是否显示网络图像
setBuiltInZoomControls	设置是否支持缩放
setCacheMode	设置缓冲的模式
setDefaultFontSize	设置默认的字体大小
setDefaultTextEncodingName	设置在解码时时候用的默认编码
setFixedFontFamily	设置固定使用的字体
setJavaScriptEnabled	设置是否支持Javascript
setLayoutAlgorithm	设置布局方式
setLightTouchEnabled	设置用鼠标激活被选项
setSupportZoom	设置是否支持变焦
setUseWideViewPort 设置适应手机屏幕
setLoadWithOverviewMode 设置跟随view宽度动态调整
5.WebClient

doUpdateVisitedHistory更新历史记录
onFormResubmission应用程序重新请求网页数据
onLoadResource加载指定地址提供的资源
onPageFinished网页加载完毕
onPageStarted网页开始加载
onReceivedError报告错误信息
onScaleChangedWebView发生改变
shouldOverrideUrlLoading控制新的连接在当前WebView中打开

//隐藏滚动条
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);

//隐藏滚动条
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);

//隐藏滚动条
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: