展会信息港展会大全

Anaroid WebView详解大全
来源:互联网   发布日期:2015-10-02 21:35:00   浏览:1849次  

导读:资源描述:1.android提供了webView控件专门用来浏览网页。然后在程序中装载webView控件,设置属性,比如:颜色、字体、要访问的网址等。通过loadUrl方法设置当前webV...

资源描述:

1.android提供了webView控件专门用来浏览网页。

然后在程序中装载webView控件,设置属性,比如:颜色、字体、要访问的网址等。通过loadUrl方法设置当前webView需要访问的网址。在创建WebView时,系统有一个默认的设置,我们可以通过WebView.getSettings来得到这个设置。

2.下面是设置一些常用属性、状态的方法

WebSettings常用方法:

setAllowFileAccess 启用或禁止WebView访问文件数据

setBlockNetworkImage 是否显示网络图像

setBuiltInZoomControls 设置是否支持缩放

setCacheMode 设置缓冲的模式

setDefaultFontSize 设置默认的字体大小

setDefaultTextEncodingName 设置在解码时使用的默认编码

setFixedFontFamily 设置固定使用的字体

setJavaSciptEnabled 设置是否支持Javascript

setLayoutAlgorithm 设置布局方式

setLightTouchEnabled 设置用鼠标激活被选项

setSupportZoom 设置是否支持变焦

WebViewClient常用方法:

doUpdate VisitedHistory 更新历史记录

onFormResubmission 应用程序重新请求网页数据

onLoadResource 加载指定地址提供的资源

onPageFinished 网页加载完毕

onPageStarted 网页开始加载

onReceivedError 报告错误信息

onScaleChanged WebView发生改变

shouldOverrideUrlLoading 控制新的连接在当前WebView中打开

WebChromeClient常用方法:

onCloseWindow 关闭WebView

onCreateWindow 创建WebView

onJsAlert 处理Javascript中的Alert对话框

onJsConfirm处理Javascript中的Confirm对话框

onJsPrompt处理Javascript中的Prompt对话框

onProgressChanged 加载进度条改变

onReceivedlcon 网页图标更改

onReceivedTitle 网页Title更改

onRequestFocus WebView显示焦点

3. android webView相关知识

@下面的代码通过loadUrl方法设置当前webView需要访问的网址:

mWebView=(WebView) findViewById(R.id.WebView01);

mWebView.loadUrl(“http://www.sogou.com”);

@在android中专门通过WebSettings来设置WebView的一些属性、状态等。在创建WebView时,系统有一个默认的设置,我们可以通过WebView.getSettings来得到这个设置:

WebSettings webSettings=mWebView.getSettings();//取得对象

WebSettings和WebView都在同一个生命周期中存在,当WebView被销毁后,如果再使用WebSettings,则会抛出异常。

@使用WebViewClient来完成在应用程序中自定义网页浏览程序:

WebViewClient是辅助WebView处理各种通知、请求等事件的类。通过WebView的setWebViewClient方法指定WebViewClient对象。

WebView可以通过覆盖WebViewClient方法来辅助WebView浏览网页:

public Boolean shouldOverrideUrlLoading

(WebView view,String url){view .loadUrl(url);return true;}

4. android webView实例

实例中使用EditText输入网址,用Button来确认连接,用webView显示网页内容。

这里使用了WebViewClient来辅助WebView处理一些事件,因此我们显示的网页都是在一个WebView控件中。可以通过goBack和goForward方法设置前进和后退,先检查是否可以前进和后退:

if((keyCode==keyEvent.KEYCODE_BACK)&&mWebView.canGoBack())

{

mWebView.goBack()//返回前一个页面

return true;

}

例子中,通过自制浏览器访问一个包含javascript对话框的html页面。通过点击界面上的“警告,提醒对话框”按钮、“带选择的对话框”按钮、“要求用户输入的对话框”按钮,界面分别会弹出对话框“这是一个警告对话框”、“更多信息请到我的博客去”正常按钮/取消按钮、“输入对话框”正常按钮/取消按钮、一个跳转页面。Js html页面在代码包的根目录下(dialog.html)。

我们通过setWebChromeClient方法为WebView设置一个WebChromeClient对象,辅助WebView处理js对话框,监听按钮事件,然后通过confirm和cancel方法将我们的操作传递给js处理。

package com.yarin.android.Examples_08_06;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.content.DialogInterface;

import android.graphics.Bitmap;

……

public class Activity01 extends Activity

{

private final String DEBUG_TAG = "Activity01";

private Button mButton;

private EditText mEditText;

private WebView mWebView;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mButton = (Button) findViewById(R.id.Button01);

mEditText = (EditText) findViewById(R.id.EditText01);

mWebView = (WebView) findViewById(R.id.WebView01);

//设置支持JavaScript脚本

WebSettings webSettings = mWebView.getSettings();

webSettings.setJavaScriptEnabled(true);

//设置可以访问文件

webSettings.setAllowFileAccess(true);

//设置支持缩放

webSettings.setBuiltInZoomControls(true);

//设置WebViewClient

mWebView.setWebViewClient(new WebViewClient()

{

public boolean shouldOverrideUrlLoading(WebView view, String url)

{

view.loadUrl(url);

return true;

}

@Override

public void onPageFinished(WebView view, String url)

{

super.onPageFinished(view, url);

}

@Override

public void onPageStarted(WebView view, String url, Bitmap favicon)

{

super.onPageStarted(view, url, favicon);

}

});

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港