Android利用AsyncTask异步类实现网页内容放大缩小

Android利用AsyncTask异步类实现网页内容放大缩小,第1张

概述本文实例为大家分享了AsyncTask异步类实现网页内容放大缩小的详细代码,供大家参考,具体内容如下

本文实例为大家分享了AsyncTask异步类实现网页内容放大缩小的详细代码,供大家参考,具体内容如下

WebActivity.java:

package com.supermario.filemanager;import java.io.file;import java.io.fileinputStream;import java.io.fileNotFoundException;import java.io.IOException;import org.apache.http.protocol.http;import androID.app.Activity;import androID.app.AlertDialog;import androID.content.DialogInterface;import androID.content.DialogInterface.OnClickListener;import androID.os.AsyncTask;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.webkit.WebSettings;import androID.webkit.WebVIEw;import androID.Widget.relativeLayout;import androID.Widget.ZoomControls;public class WebActivity extends Activity { //网页浏览器 private WebVIEw webVIEw; //进度条布局和网页内容主体布局 private relativeLayout loadingLayout,webLayout; //放大缩小控制器 private ZoomControls zoomControls;  @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.web); //初始化页面组件 webVIEw = (WebVIEw)findVIEwByID(R.ID.webkit); loadingLayout = (relativeLayout)findVIEwByID(R.ID.loadingLayout); webLayout = (relativeLayout)findVIEwByID(R.ID.weblayout); zoomControls = (ZoomControls)findVIEwByID(R.ID.zoomControls);  WebSettings webSettings = webVIEw.getSettings(); //设置可以使用Js脚本 webSettings.setJavaScriptEnabled(true); //执行异步进程 new MyAsyncTask().execute("");  } private voID reading(){ String filePath = getIntent().getStringExtra("filePath"); if (filePath != null) {  //读取文件  webVIEw.loadData(reaDWebDataToStringFromPath(filePath,new fileReadOverBack() {  @OverrIDe  public voID fileReadOver() {  }  }),"text/HTML",http.UTF_8); } else {  new AlertDialog.Builder(WebActivity.this).setTitle("出错了").setMessage("获取文件路径出错!").setPositivebutton("返回",new OnClickListener() {  @OverrIDe  public voID onClick(DialogInterface dialog,int which) {   WebActivity.this.finish();  }  }); } } //将网页数据读取到一个字符串变量中 private String reaDWebDataToStringFromPath(String path,final fileReadOverBack fileReadOverBack){ file file = new file(path); StringBuffer stringBuffer = new StringBuffer(); try {  //读取文件内容  fileinputStream inputStream = new fileinputStream(file);  byte[] bytes = new byte[1024];  int readCount = 0;  while ((readCount = inputStream.read(bytes)) > 0) {  stringBuffer.append(new String(bytes,readCount));  }  fileReadOverBack.fileReadOver(); } catch (fileNotFoundException e) {  return "文件不存在!"; } catch (IOException e) {  return "文件读取错误!"; } return stringBuffer.toString(); }  interface fileReadOverBack{ voID fileReadOver(); } //异步处理类 class MyAsyncTask extends AsyncTask<String,String,String>{ //首先执行的函数 @OverrIDe protected voID onPreExecute() {  super.onPreExecute();  loadingLayout.setVisibility(VIEw.VISIBLE);  webLayout.setVisibility(VIEw.GONE); } //后台执行 @OverrIDe protected String doInBackground(String... params) {  reading();  return null; }  @OverrIDe protected voID onPostExecute(String result) {  super.onPostExecute(result);  //设置载入进度条隐藏  loadingLayout.setVisibility(VIEw.GONE);  //设置浏览器内容可见  webLayout.setVisibility(VIEw.VISIBLE);    // 放大按钮  zoomControls.setonZoomInClickListener(new VIEw.OnClickListener() {  //将网页内容放大  @OverrIDe  public voID onClick(VIEw v) {   webVIEw.zoomIn();  }  });  // 缩小按钮  zoomControls.setonZoomOutClickListener(new VIEw.OnClickListener() {   //将网页内容缩小  @OverrIDe  public voID onClick(VIEw v) {   webVIEw.zoomOut();  }  }); }  }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android利用AsyncTask异步类实现网页内容放大缩小全部内容,希望文章能够帮你解决Android利用AsyncTask异步类实现网页内容放大缩小所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1148803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存