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

本文详细介绍了Android中的WebView组件,包括其基本功能、使用方法及高级配置。涵盖了加载网页、设置属性、WebSettings配置等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、初识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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值