Android第二十七期 - webView

自己新建一个项目弄弄吧:

activity:

public class School_ggtz extends Activity {
	private WebView webView;
	private String url;
	private ImageView iv_school_title;
	private TextView tv_school_content;
	private ProgressDialog dialog;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_school_xxgk);
		iv_school_title = (ImageView) findViewById(R.id.iv_school_title);
		iv_school_title.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View arg0) {
				finish();
			}
		});
		tv_school_content = (TextView) findViewById(R.id.tv_school_content);
		tv_school_content.setText(getResources().getString(
				R.string.school_ggtz_content));
		webView = (WebView) findViewById(R.id.id_webview);
		url = getResources().getString(R.string.school_ggtz);
		webView.loadUrl(url);
		webView.setWebViewClient(new WebViewClient() {
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				view.loadUrl(url);
				return true;
			}
		});
		WebSettings settings = webView.getSettings();
		settings.setSupportZoom(true);
		settings.setBuiltInZoomControls(true);
		settings.setDisplayZoomControls(false); // 隐藏webview缩放按钮
		settings.setUseWideViewPort(true);
		settings.setLoadWithOverviewMode(true);
		settings.setJavaScriptEnabled(true);
		settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
		webView.setWebChromeClient(new WebChromeClient() {

			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				// TODO Auto-generated method stub
				// newProgress 1-100之间的整数
				if (newProgress == 100) {
					// 网页加载完毕,关闭ProgressDialog
					closeDialog();
				} else {
					// 网页正在加载,打开ProgressDialog
					openDialog(newProgress);
				}
			}

			private void closeDialog() {
				// TODO Auto-generated method stub
				if (dialog != null && dialog.isShowing()) {
					dialog.dismiss();
					dialog = null;
				}
			}

			private void openDialog(int newProgress) {
				// TODO Auto-generated method stub
				if (dialog == null) {
					dialog = new ProgressDialog(School_ggtz.this);
					dialog.setTitle("正在加载");
					dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
					dialog.setProgress(newProgress);
					dialog.show();

				} else {
					dialog.setProgress(newProgress);
				}

			}
		});
	}
}

xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:orientation="vertical" >

    <include layout="@layout/activity_school_title" />

    <WebView
        android:id="@+id/id_webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="none" />

</LinearLayout>

效果图:PS:可以缩放,并且支持双击Max,支持脚本。

时间: 2024-08-08 17:43:14

Android第二十七期 - webView的相关文章

Android Studio第二十七期 - RecycleView不同item布局

其实就是适配器的写法~ (附:copy loader的~剪刀手~) DemoDifferentRecycleViewAdapter: package com.haiersmart.sfnation.demo.adapter; import android.content.Context; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.support.v7

Android Studio第三十七期 - webview与js交互

代码已经整理好,效果如下图: 地址:https://github.com/geeklx/MyApplication/tree/master/p021_webviewjs

分布式技术追踪 2017年第二十七期

分布式系统实践 1. 分布式系统中的时间和顺序--关于Spanner中的Linearizability http://dwz.cn/6gcYDC 摘要: 本文主要介绍了分布式系统中 Linearizability 概念,以及它与 Serializability 的区别,并介绍了 Spanner 中是如何通过 TrueTime 来实现 Linearizability. 2. PacificA:微软设计的分布式存储框架 http://dwz.cn/6fZzz6 摘要: PacificA是微软为大规模

Android第二十期 - 微信的主体构架

代码已经整理好了,还加了侧边栏的slidingmenu,自己试试吧. 地址:http://down.51cto.com/data/1886297

Android第十七期 - 网络和本地图片轮播

代码已经整理过,效果如下图:

Android第二期 - 中国天气预报xml解析版(111)

实习比较忙,也时间写了,就记录一下自己的代码成长吧,希望能帮到你. MainActivity部分: package com.sbs.weather; import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.apache.http.HttpEntity; import org.apache.htt

Android开发:关于WebView

Android开发:关于WebView 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/647456 WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法: 第一种方法的步骤: 1.在要Activity中实例化WebView组件:WebView webView =

Chromium on Android: Android L平台上WebView的变化及其对浏览器厂商的影响分析

摘要:Android L平台在图形渲染方面有一项重要的改进,它引入了一个专门的线程用于执行渲染工作,UI线程负责生成的显示列表(DisplayList),渲染线程负责重放(playback)这个显示列表绘制最终的内容,因此Chromium WebView在图形栈的实现方面也作了相应的调整,以支持Android L系统上新的渲染线程模型.本文将深度分析Chromium WebView的渲染流水线是如何无缝整合到Android L系统的渲染模型中,以及对目前市场主流浏览器厂商将会产生什么样影响等问题

android软件开发之webView.addJavascriptInterface循环渐进【二】

说明 文章列表 android软件开发之webView.addJavascriptInterface循环渐进[一]: http://www.sollyu.com/android-software-development-webview-addjavascriptinterface-cycle-of-gradual-oneandroid软件开发之webView.addJavascriptInterface循环渐进[二]: http://www.sollyu.com/586 上一篇文章发布之后,得到