webview学习笔记

原创 2015年11月17日 19:08:10
package com.example.webviewapp;

import android.support.v7.app.ActionBarActivity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends ActionBarActivity {

	private WebView webview;
	private ProgressDialog progressDialog = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

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

		WebSettings settings = webview.getSettings();
		settings.setJavaScriptEnabled(true);

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

		this.webview.setWebViewClient(new WebViewClient() {
			@Override
			public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {
				// TODO Auto-generated method stub
				return true;
			}
		});

		this.webview.setWebChromeClient(new WebChromeClient() {
			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				// TODO Auto-generated method stub
				if (newProgress == 100) {
					if (progressDialog != null && progressDialog.isShowing()) {
						progressDialog.dismiss();
						progressDialog = null;
					}
				} else {
					openProgress(newProgress);
				}
			}

		});

	}

	public void openProgress(int newProgress) {
		if (progressDialog == null) {
			progressDialog = new ProgressDialog(MainActivity.this);
			progressDialog.setTitle("正在加载");
			progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
			progressDialog.setProgress(newProgress);
			progressDialog.show();
		} else {
			progressDialog.setProgress(newProgress);
			progressDialog.show();
		}

	}

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
		if (keyCode == KeyEvent.KEYCODE_BACK) {
			if (webview.canGoBack()) {
				webview.goBack();
				return true;
			} else {
				System.exit(0);
			}
		}
		return super.onKeyDown(keyCode, event);
	}

}

Android使用WebView显示网页(图片大小的处理及内容的自适应)

在Android开发过程中,会遇到需要显示网页的需求,或者需要用webview控件来达到某个效果。我这段时间在做CSDN博客的客户端,使用webview来显示博文内容,一是因为解析博文内容再适配比较麻...
  • brian512
  • brian512
  • 2015年01月08日 20:38
  • 36632

WebView详解一:打造优雅的WebView

一、使用WebView并不需要开通网络权限      WebView可以加载本地Html文件和加载网络的Url路径,对其都有很好的支持 二、Xml使用 ...
  • u014752325
  • u014752325
  • 2016年11月23日 17:09
  • 4528

WebView使用总结2(加载HTML内容形式的String)

 WebView使用总结2(加载HTML内容形式的String) 博客分类: Android组件学习 HTMLJava  接着上篇: 6.通过字符串拼凑的html页面显示...
  • kaiqiangzhang001
  • kaiqiangzhang001
  • 2014年08月25日 17:51
  • 3994

Android webview 关于返回键和历史栈的坑

最近在做一个webview加载出错时加载本地的出错页,刷新显示之前Url的内容。碰到了一连串的坑,同时也了解了webview。 @Override pu...
  • qq1501340219
  • qq1501340219
  • 2016年10月21日 19:27
  • 3698

Android如何区分app原生和webview实现

http://article.fynas.com/android%E5%8C%BA%E5%88%86natvie%E5%92%8Cweb%E5%AE%9E%E7%8E%B0 dddd
  • lvjin110
  • lvjin110
  • 2014年11月12日 08:56
  • 9117

WebView使用总结

WebView使用总结 闲话(可直接无视     好久都没有上博客写点东西,总结下最近的学习情况了,又是课程设计又是项目的,都快被弄成XX了。最近又接了个锅,做一个能社交的游记应用,游记的内容...
  • l_215851356
  • l_215851356
  • 2016年03月08日 15:30
  • 1174

webView视图添加header视图和footer视图

1、初始化webView_webView = [[UIWebView alloc]initWithFrame:CGRectMake: (0,0,[UIScreen mainScreen].frame....
  • u012450066
  • u012450066
  • 2016年05月25日 13:54
  • 2158

iOS中UIWebView的使用详解及利用webview实现图文混排实例

iOS中UIWebView的使用详解 一、初始化与三种加载方式      UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数...
  • HDFQQ188816190
  • HDFQQ188816190
  • 2016年06月14日 13:23
  • 13981

Android webview广告过滤的实现

WebViewClient的几个回调函数 要想对Webview实现一些高级操作,首先要学习WebViewClient的用法,这是Webview几个常用回调函数 1、public boolean sh...
  • luanxuye
  • luanxuye
  • 2017年02月09日 14:17
  • 3580

安卓webview的一些坑

WebView可以很好地帮助我们展示html页面,但是webview使用不当的话还是可能产生一定问题的,下面就以下几个方面说说我的优化技巧 1、展示webview的activity可以另开一个进程...
  • hytfly
  • hytfly
  • 2015年09月16日 09:29
  • 13063
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:webview学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)