首页 > 移动平台 > 详细

Android WebView

时间:2015-03-25 20:58:29      阅读:266      评论:0      收藏:0      [点我收藏+]
package com.zkc.pinter.activity;

import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Picture;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.btpdemo76.R;

import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by NickChung on 3/20/15.
 */
public class PrintWebActivity extends Activity {

    List<Map<String, String>> listData = new ArrayList<Map<String, String>>();

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_print_web);

        final EditText txtUrl = (EditText) findViewById(R.id.txtURL);
        final WebView mWebView = (WebView) findViewById(R.id.wvSite);
        final Button btnGo = (Button) findViewById(R.id.btnGo);
        final Button btnPrint = (Button) findViewById(R.id.btnPrint);

        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        txtUrl.setText("http://www.baidu.com/");

        mWebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // TODO Auto-generated method stub
                //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
                view.loadUrl(url);
                return true;
            }

        });

        mWebView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                // TODO Auto-generated method stub
                if (newProgress == 100) {
                    Toast.makeText(PrintWebActivity.this, "加载完成", Toast.LENGTH_LONG).show();
                } else {
                    if (newProgress <= 10) {
                        Toast.makeText(PrintWebActivity.this, "加载中...", Toast.LENGTH_LONG).show();
                    }
                }
            }
        });

        btnGo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mWebView.loadUrl(txtUrl.getText().toString());
            }
        });

        btnPrint.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Picture pic = mWebView.capturePicture();
                int width = pic.getWidth();
                int height = pic.getHeight();
                if (width > 0 && height > 0) {
                    Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
                    Canvas canvas = new Canvas(bmp);
                    pic.draw(canvas);
                    try {
                        /*
                        String fileName = Environment.getExternalStorageDirectory() + "/" + System.currentTimeMillis() + ".png";
                        FileOutputStream fos = new FileOutputStream(fileName);
                        if (fos != null) {
                            bmp.compress(Bitmap.CompressFormat.PNG, 90, fos);
                            fos.close();
                        }
                        Toast.makeText(getApplicationContext(), "截图成功,文件名是:" + fileName, Toast.LENGTH_SHORT).show();
                        */
                        PrintActivity.pl.printImage(bmp);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        });
        //PrintActivity.pl.printText(mWebView.getTitle() + "\r\n");
        //PrintActivity.pl.printImage(BitmapFactory.decodeResource(getResources(), R.drawable.demo));
    }
}

 Ref:Android WebView中的JavaScript代码使用

 Ref:Android WebView与JavaScript交互操作(Demo)

Android WebView

原文:http://www.cnblogs.com/ncore/p/4366698.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!