文档章节

android 简易显示web浏览,嵌入自己的应用中

caryt
 caryt
发布于 2016/10/19 15:43
字数 339
阅读 17
收藏 0

android 简易显示web浏览,嵌入自己的应用中

使用android 自带的webView即可实现

package com.example.tanhuohui;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Bitmap;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.LinearLayout;
/**
 * 请关注卫浴家居,欧风卫浴
 * IP地址:
 * 手机店铺地址:http://shop102621944.m.taobao.com
 * 
 */   
public class WebBrowser extends Activity implements OnClickListener{
    WebView mWebView;
    ImageView back;  
    ImageView forward;
    ImageView refresh;
    LinearLayout goback,goforward,refreshBTn;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.web_browser);
        setControl();
        setWebStyle();
    }
    private void setControl() {
    	mWebView=(WebView)findViewById(R.id.webshow);
    	//first=(Button)findViewById(R.id.button1);
    	back=(ImageView)findViewById(R.id.button2);
    	forward=(ImageView)findViewById(R.id.button3);
    	refresh=(ImageView)findViewById(R.id.button4);
    	goback=(LinearLayout) findViewById(R.id.goBackBtn);
    	goforward=(LinearLayout) findViewById(R.id.goForwardBtn);
    	refreshBTn=(LinearLayout) findViewById(R.id.refreshBtn);
    	goback.setOnClickListener(this);
    	goforward.setOnClickListener(this);
    	refreshBTn.setOnClickListener(this);
	}
    @SuppressLint("SetJavaScriptEnabled")
	private void setWebStyle() {
		mWebView.getSettings().setJavaScriptEnabled(true);
		mWebView.getSettings().setSupportZoom(true);
		mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
		mWebView.requestFocus();
		mWebView.loadUrl("http://shop102621944.m.taobao.com");
		mWebView.setWebViewClient(new MyWebViewClient());
		 // 设置setWebChromeClient对象  
		mWebView.setWebChromeClient(chromeClient);  
	}
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		  if (v == goback) {  
	            if (mWebView.canGoBack()){  
	            	mWebView.goBack();  
	            }  
	        } else if (v == goforward) {  
	            if (mWebView.canGoForward()){  
	            	mWebView.goForward();  
	            }  
	        }else if(v==refreshBTn){
	        	mWebView.reload();
	        }
		
	}
	class MyWebViewClient extends WebViewClient{
		@Override
		public boolean shouldOverrideUrlLoading(WebView view,String url_){
			view.loadUrl(url_);
			goback.setEnabled(mWebView.canGoBack());
			if(mWebView.canGoBack()){
				back.setImageResource(R.drawable.mini_webview_back);
			}else{
				back.setImageResource(R.drawable.mini_webview_back_disable);
			}
			goforward.setEnabled(mWebView.canGoForward());
			if(mWebView.canGoForward()){
				forward.setImageResource(R.drawable.mini_webview_forward);
			}else{
				forward.setImageResource(R.drawable.mini_webview_back_disable);
			}
			return true;
		}
		 @Override  
	        public void onPageFinished(WebView view, String url) {  
	    //设置程序的标题为网页的标题  
	        }  
	        @Override  
	        public void onPageStarted(WebView view, String url, Bitmap favicon) {  
	        	goback.setEnabled(mWebView.canGoBack());  
	            if(mWebView.canGoBack()){
					back.setImageResource(R.drawable.mini_webview_back);
				}else{
					back.setImageResource(R.drawable.mini_webview_back_disable);
				}
	            goforward.setEnabled(mWebView.canGoForward());  
	            if(mWebView.canGoForward()){
					forward.setImageResource(R.drawable.mini_webview_forward);
				}else{
					forward.setImageResource(R.drawable.mini_webview_forward_disable);
				}
	        }
	      
	}
	WebChromeClient chromeClient=new WebChromeClient(){
		public void onReceivedTitle(WebView view, String title) {
			//显示网页标题
			//titleText.setText(title);
			
		};
		public void onProgressChanged(WebView view, int newProgress) {
			if(newProgress==100){
				refreshBTn.setEnabled(true);
				refresh.setImageResource(R.drawable.mini_webview_refresh);
			}else{
				refresh.setImageResource(R.drawable.mini_webview_refresh_click);
				refreshBTn.setEnabled(false);
			}
		};
		
	};
}

  

本文转载自:http://www.cnblogs.com/carythh/p/3671158.html

caryt
粉丝 0
博文 49
码字总数 2679
作品 0
杭州
Android工程师
私信 提问
第二讲:Android系统构架分析和应用程序目录结构分析

本讲内容: Android系统构架简介 Android应用程序结构分析 点这里下载:Android学习指南第二讲源代码 一、Android系统构架 Android系统从底向上一共分了4层,每一层都把底层实现封装,并暴露...

神勇小白鼠
2011/03/10
8.6K
5
什么是android(What Is Android?)

什么是Android? Android是一个移动设备,包括操作系统,中间件和关键应用软件堆栈。 而 Android SDK提供了必要的工具和API,开始使用Java编程语言在Android平台开发应用程序。 特点 应用程序...

_kxng
2011/08/03
394
2
Android开源git40个App源码

(JamsMusicPlayer)很棒的音乐播放器(new) (F8)日程安排的软件 (Conversations)基于XMPP的应用 (Bitocle)可以在手机上查看自己github上的项目 (Amphitheatre)Android TV应用,数据来源于TMDb,...

拉偶有所依
2015/06/03
1K
2
谷歌为 Android 应用中嵌入网页内容引入新机制

周一,在加州旧金山举行的 Chrome 开发者峰会上,谷歌给大众介绍了一种在 Android 应用中嵌入网页内容的新机制。 会上,谷歌向大众介绍了 Chrome 将推出的一个名为“Trusted Web Activity”的...

周其
2017/10/25
2K
3
有关WebView开发问题

如何创建WebView: 1、添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。 2、在要Activity中生成一个WebView组件:WebView w......

无鸯
2011/11/09
767
0

没有更多内容

加载失败,请刷新页面

加载更多

如何递归计算目录中的所有代码行?

我们有一个PHP应用程序,并希望计算特定目录及其子目录下的所有代码行。 我们不需要忽略评论,因为我们只是想弄清楚。 wc -l *.php 该命令在给定目录中运行良好,但忽略子目录。 我当时认为...

技术盛宴
30分钟前
3
0
使用 try-with-resources 优雅关闭资源

我们知道,在 Java 编程过程中,如果打开了外部资源(文件、数据库连接、网络连接等、redis),我们必须在这些外部资源使用完毕后,手动关闭它们。 因为外部资源不由 JVM 管理,无法享用 JVM ...

七弦桐
37分钟前
4
0
04.深入浅出索引(上)

简单来说,索引的出现就是为了提高数据查询效率,就像书的目录一样。 索引的常见模型 索引实现的方式有很多种,所以这里就引入了索引模型的概念,可以用于提高读写效率的数据结构很多,比较常...

scgaopan
40分钟前
5
0
Redis哨兵、复制、集群的设计原理,以及区别

谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。 **哨兵(Sentinel):**可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的...

Java阿七
50分钟前
5
0
浅析laravel路由执行原理

目前很多文章已经对Laravel的执行原理做了详细介绍,这里只是为了个人做一下简单记录 首先看入口 index.php 关键的执行函数就是 handle方法 ,但是前面的几个预处理函数,包括了整合框架的大...

冻结not
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部