Android控件WebView(浏览器)常用功能(图片、缩放)例子介绍
Android系统默认提供WebView控件(view)来在应用中内嵌网页,使其具有浏览器的功能。WebView提供了灵活的配置来让用户自定义相关功能。前面说了关于Android中WebView实现Javascript调用Java类方法,下面在代码中对其他功能做详细描述:
package com.orgcent.webview;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings.LayoutAlgorithm;
public class AndroidWebViewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView content_wv = (WebView) findViewById(R.id.content_wv);
WebSettings ws = content_wv.getSettings();
ws.setJavaScriptEnabled(true); // 设置支持javascript脚本
ws.setAllowFileAccess(true); // 允许访问文件
ws.setBuiltInZoomControls(true); // 设置显示缩放按钮
ws.setSupportZoom(true); //支持缩放
/**
* 用WebView显示图片,可使用这个参数
* 设置网页布局类型:
* 1、LayoutAlgorithm.NARROW_COLUMNS : 适应内容大小
* 2、LayoutAlgorithm.SINGLE_COLUMN:适应屏幕,内容将自动缩放
*/
ws.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
ws.setDefaultTextEncodingName("utf-8"); //设置文本编码
ws.setAppCacheEnabled(true);
ws.setCacheMode(WebSettings.LOAD_DEFAULT);//设置缓存模式
//添加Javascript调用java对象
content_wv.addJavascriptInterface(this, "java2js");
content_wv.setWebViewClient(new WebViewClientDemo());
content_wv.setWebChromeClient(new WebViewChromeClientDemo());
//设置打开的网页
content_wv.loadUrl("http://orgcent.com");
//使用WebView来显示图片
content_wv.loadData("<img src='http://orgcent.com'/>", "text/html", "utf8");
}
private class WebViewClientDemo extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);// 当打开新链接时,使用当前的 WebView,不会使用系统其他浏览器
return true;
}
}
private class WebViewChromeClientDemo extends WebChromeClient {
// 设置网页加载的进度条
public void onProgressChanged(WebView view, int newProgress) {
}
// 获取网页的标题
public void onReceivedTitle(WebView view, String title) {
}
// JavaScript弹出框
@Override
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
return super.onJsAlert(view, url, message, result);
}
// JavaScript输入框
@Override
public boolean onJsPrompt(WebView view, String url, String message,
String defaultValue, JsPromptResult result) {
return super.onJsPrompt(view, url, message, defaultValue, result);
}
// JavaScript确认框
@Override
public boolean onJsConfirm(WebView view, String url, String message,
JsResult result) {
return super.onJsConfirm(view, url, message, result);
}
}
} 转载: http://orgcent.com/android-webview-image-zoom-example/ | 萝卜白菜的博客 相关推荐
icewizardry 2014-04-10
dangai00 2020-07-18
xhpscdx 2020-05-31
chenxiangpeng 2020-04-30
ncuboy0wsq 2020-03-27
学习web前端 2020-03-23
APCDE 2020-03-04
歆萌 2020-03-03
csdnuuu 2020-01-04
水龙吟的备忘录 2019-11-18
元元 2019-11-17
androidstudyroom 2019-11-08
czpaex 2011-09-11
OldSoldier 2011-08-18
wangdaiying 2011-05-26
qixiang0 2019-08-24