Android使用WebView的简单使用

摘要:
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"˃这是一个HTML大家晚上好大家晚上好大家晚上好Java文件WebViewDemo.java文件packagecom.yw.webkitdemo;importcom.example.hhh.R;importandroid.annotation.SuppressLint;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.os.Bundle;importandroid.os.Handler;importandroid.webkit.WebSettings;importandroid.webkit.WebSettings.LayoutAlgorithm;importandroid.webkit.WebView;importandroid.webkit.WebViewClient;importandroid.widget.Toast;@SuppressLintpublicclassWebViewDemoextendsActivity{privateWebViewmWebView;privateHandlermHandler=newHandler();//定义handler接口classHandler{publicvoidshow{newAlertDialog.Builder.setMessage.create().show();}}publicvoidonCreate{super.onCreate;setContentView;mWebView=findViewById;WebSettingswebSettings=mWebView.getSettings();/***如果是像上面加载百度的url的话,需要设置是否支持JavaScript,*如果不支持JavaScript的话就会启动手机自带的浏览器去加载你要加载的URL,否则会自己加载。
layout下 :

webviewdemo.xml 文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical" >

<WebView

android:id="@+id/webview"

android:layout_width="match_parent"

android:layout_height="match_parent" />

</LinearLayout>

assets下 :

demo.html 文件

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>这是一个HTML</title>

</head>

<body>

<br>

<br>大家晚上好

<br>

<br>大家晚上好

<br>

<br>大家晚上好

<br>

<input type="button" value="测试" onclick="javascript:window.handler.show(document.body.innerHTML);" />

</body>

</body>

</html>

Java文件

WebViewDemo.java文件

package com.yw.webkitdemo;

import com.example.hhh.R;

import android.annotation.SuppressLint;

import android.app.Activity;

import android.app.AlertDialog;

import android.os.Bundle;

import android.os.Handler;

import android.webkit.WebSettings;

import android.webkit.WebSettings.LayoutAlgorithm;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.Toast;

@SuppressLint("JavascriptInterface")

public class WebViewDemo extends Activity {

private WebView mWebView;

private Handler mHandler = new Handler();

// 定义handler接口

class Handler {

public void show(String data) {

new AlertDialog.Builder(WebViewDemo.this).setMessage(data).create()

.show();

}

}

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

setContentView(R.layout.webviewdemo);

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

WebSettings webSettings = mWebView.getSettings();

/**

* 如果是像上面加载百度的url的话,需要设置是否支持JavaScript,

* 如果不支持JavaScript的话就会启动手机自带的浏览器去加载你要加载的URL, 否则会自己加载。设置是否支持JavaScript的

*/

webSettings.setJavaScriptEnabled(true);

// 还支持以下属性

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

// setBlockNetworkImage 是否显示网络图像

// setBuiltInZoomControls 设置是否支持缩放

// setDefaultFontSize 设置默认的字体大小

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

// setFixedFontFamily 设置固定使用的字体

// setJavaScriptEnabled 设置是否支持JavaScript

// setLayoutAlgorithm 设置布局方式

// setLightTouchEnabled 设置用鼠标激活被选项

// setSupportZoom 设置是否支持变焦

// setUseWideViewPort 方法设置webview推荐使用的窗口。是否可任意比例缩放

// setLoadWithOverviewMode 方法是设置webview加载的页面的模式。

// setSavePassword

// setSaveFormData 保存表单数据

// setJavaScriptEnabled

// setRenderPriority

// setGeolocationEnabled 启用地理定位

// setGeolocationDatabasePath 设置定位的数据库路径

// setCacheMode 设置缓冲的模式

// setDomStorageEnabled 开启 DOM storage API 功能

// setDatabaseEnabled 开启 database storage API 功能

// setDatabasePath 设置数据库缓存路径

// webSettings.setAppCachePath 设置 Application Caches 缓存目录

// webSettings.setAppCacheEnabled 开启 Application Caches 功能

// 设置可以支持缩放

webSettings.setSupportZoom(true);

// 设置出现缩放工具

webSettings.setBuiltInZoomControls(true);

// 设置可在大视野范围内上下左右拖动,并且可以任意比例缩放

webSettings.setUseWideViewPort(true);

// 设置默认加载的可视范围是大视野范围

webSettings.setLoadWithOverviewMode(true);

// “通知”html有这么一个接口存在,并调用

mWebView.addJavascriptInterface(new Handler(), "handler");

// 自适应屏幕

webSettings.setLayoutAlgorithm(LayoutAlgorithm.NORMAL);

// 如果你的网页不想让缩放,并且希望页面能够自适应手机屏幕的,可以在你的html文件中添加下面的属性:

/*

* <meta name="viewport" content=

* "width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"

* > <meta name="mobileOptimized" content="width"> <meta

* name="handheldFriendly" content="true">

*/

// 默认情况下,点击WebView所加载的页面上的超链接按钮时,是启动系统自带的浏览器去加载新的页面。

//如果要让WebView自己加载,需要添加如下代码

//如果使用SelfWebViewClient,需要自行定义SelfWebViewClient

mWebView.setWebViewClient(new WebViewClient());

// 加载html字符串

// webView.loadDataWithBaseURL(null, "<html>正在连接网络。。。</html>",

// "text/html", "UTF-8", null);

// 加载本地asset文件

mWebView.loadUrl("file:///android_asset/demo.html");

// 在的html中按钮的点击事件使用了一个接口:window.handler。

mWebView.setWebViewClient(new WebViewClient() {

@Override

public void onPageFinished(WebView view, String url) {

Toast.makeText(WebViewDemo.this, "网页加载完成", 0).show();

view.loadUrl("javascript:window.handler.show(document.body.innerHTML);");

super.onPageFinished(view, url);

}

});

// 加载url

// mWebView.loadUrl("http://www.baidu.com.cn/");

}

}

免责声明:文章转载自《Android使用WebView的简单使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇(转)OpenCV 基本知识框架无法创建文件夹或文件问题的解决的方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JavaScript的三种代码书写格式

  在这里我将 JavaScript 的类与 Java(本人主要是做Java开发的) 的类做一个比较,以便大家能够更好的理解。   1. 在没有接触 JS 的面向对象编程之前,写JS的函数都是像下面这样写的: function test(){     var v1 = "test";     var v2 = "value";     if(v1=="te...

HTML超级链接详细讲解

超级链接是网站中使用比较频繁的HTML元素,因为网站的各种页面都是由超级链接串接而成,超级链接完成了页面之间的跳转。超级链接是浏览者和服务器的交互的主要手段,在后面的技术中会逐步深化学习。 —  注意:图片也可以做链接,将在下一章“网页中的图片”详细学习。 a标签用另外加的点击事件的时候,用加上href="javascript:;",否则在移动端点击不起...

Django的模板与母版

Django的模板与母版 PythonDjango模板母版 Django模板系统 与Django模板有关的官方文档 语法相关 变量相关 {{ 变量名 }} {{ name }},{{name|length}},{{name|default:"默认值"}} 变量名由字母数字和下划线组成。 点(.)在模板语言中有特殊的含义,用来...

五十六 SMTP发送邮件

SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。 首先,我们来构造一个最简单的纯文本邮件: from email.mime.text import MIMEText msg =...

解读 JavaScript 之引擎、运行时和堆栈调用

https://www.oschina.net/translate/how-does-javascript-actually-work-part-1 随着 JavaScript 变得越来越流行,很多团队在他们的堆栈中实现诸多层级的支持 - 前端、后端、混合应用程序、嵌入式设备等等。 本文是该系列文章的第一篇,旨在深入研究 JavaScript 及其实际...

MarkDown语言

目录 1、Markdown简介 2、辅助线 1)中划线语法 2)下划线语法 3、字体、字号 1)改变字体 (1)修改局部字体 (2)常用字体 2)改变字号 (1)使用 标签 size 属性修改局部字号 (2)使用 和 标签修改局部字号 3)全局字体、字号的设置 4、前背景、背景色 1)前背景 2)背景色 3)图片背景色...