`
zhengaihua
  • 浏览: 21130 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

WebView

阅读更多
	private EditText et;
	private WebView web;
	private ProgressBar pro;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		pro = (ProgressBar) findViewById(R.id.progressBar1);
		et = (EditText) findViewById(R.id.socket);
		web = (WebView) findViewById(R.id.web);
		// 设置可以使用enter键直接获取响应事件

		
		 et.setOnEditorActionListener(new OnEditorActionListener() { 
		 @Override 
                 public boolean onEditorAction(TextView v, int actionId,
		 KeyEvent event) {
                  String path = v.getText().toString().trim();
		 web.loadUrl(path); 
                 return false; } });
		
		et.addTextChangedListener(new TextWatcher() {

			@Override
			public void onTextChanged(CharSequence s, int start, int before,
					int count) {
				String path = s.toString().trim();
				if (path.endsWith(".com"))
					;
				web.loadUrl(path);
			}

			@Override
			public void beforeTextChanged(CharSequence s, int start, int count,
					int after) {
				// TODO Auto-generated method stub

			}

			@Override
			public void afterTextChanged(Editable s) {
				// TODO Auto-generated method stub

			}
		});
		// 只在当前界面进行跳转
		web.setWebViewClient(new WebViewClient());
		initSetting();
		web.setWebChromeClient(new WebChromeClient() {
			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				pro.setVisibility(View.VISIBLE);
				// 设置进度
				pro.setProgress(newProgress);
				if (newProgress == 100) {
					pro.setVisibility(view.GONE);
				}
				super.onProgressChanged(view, newProgress);
			}
		});
	}

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if (keyCode == KeyEvent.KEYCODE_BACK) {
			if (web.canGoBack()) {
				web.goBack();
			} else {
				finish();
			}
		}
		return super.onKeyDown(keyCode, event);
	}

	// 对webview做一些基本设置
	private void initSetting() {
		WebSettings settings = web.getSettings();
		settings.setJavaScriptCanOpenWindowsAutomatically(true);
		settings.setJavaScriptEnabled(true);
		// LOAD_DEFAULT 设置如何缓存默认使用缓存,当缓存没有,或者缓存过期,倒使用网络
		// LOAD_CACHE_ELSE_NETWORK 设置默认使用缓存,即便是缓存过期,也使用缓存
		settings.setCacheMode(WebSettings.LOAD_DEFAULT);
		// 是否展示缩放
		settings.setBuiltInZoomControls(true);
		// 设置一个默认的绽放比例,绽放到最小的比例,和屏幕一样大
		settings.setDefaultZoom(ZoomDensity.FAR);
	}

 

分享到:
评论

相关推荐

    crosswalk-webview比webview更好用

    在移动应用开发中,Webview是一个关键组件,它允许开发者在原生应用程序内嵌入网页内容。Android系统自带的WebView是Android应用中常用的一种方式,但随着时间的推移,开发者们发现了一些限制,比如性能问题、版本...

    webView选择图片并上传

    在Android应用开发中,WebView是一个非常重要的组件,它允许我们加载和显示网页内容。当需要在WebView中实现图片的选择和上传功能时,这通常涉及到与HTML5的交互、Android权限管理以及服务器端的处理。本篇文章将...

    WebView2-20200512- WebView2Loader.dll.zip

    【WebView2Loader.dll详解】 WebView2 是微软推出的一款现代Web技术框架,用于在桌面应用程序中嵌入Web内容。它基于Chromium项目,提供了与最新Web标准兼容的浏览器内核,使得开发者可以在桌面应用中轻松集成网页...

    android webview播放网页视频

    在Android开发中,Webview是一个非常重要的组件,它允许我们加载和展示网页内容。当涉及到在Webview中播放网页视频时,这个问题可能会变得稍微复杂,因为Android原生的Webview并不总是支持所有现代HTML5视频特性。...

    Android webview 内存泄露的解决方法

    Android webview 内存泄露的解决方法 最近在activity嵌套webview显示大量图文发现APP内存一直在涨,没法释放内存,查了很多资料,大概是webview的一个BUG,引用了activity导致内存泄漏,所以就尝试传递...

    Android WebView 去除标题

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。有时候,我们可能希望去除WebView中的标题部分,以实现更自定义化的界面设计。本篇文章将详细探讨如何在Android的...

    Android WebView获取源码

    本文将详细介绍如何在Android中使用`WebView`来获取网页的源码,并封装成一个自定义的`ArthurWebView`组件。 首先,我们了解`WebView`的基本用法。`WebView`继承自`View`,主要通过以下步骤进行初始化: 1. 在布局...

    android webview 版本69.0

    在Android平台上,WebView是一个至关重要的组件,它允许开发者在应用程序中嵌入网页浏览功能,而无需启动完整的浏览器应用。在给定的标题“android webview 版本69.0”中,提到的是一个特定版本的WebView,即69.0。...

    webview 监听页面显示事件

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容。通过WebView,我们可以展示HTML、CSS和JavaScript等Web技术构建的页面,同时也可以与原生应用进行交互。本文将深入探讨如何...

    Android Webview滑动监听

    在Android开发中,Webview是一个非常重要的组件,它允许开发者在原生应用中嵌入网页内容,实现网页与原生应用的交互。本篇将详细讲解如何在Android Webview中实现滑动监听以及图片的放大缩小功能。 首先,我们要...

    Android实现WebView懒加载

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中嵌入网页内容,实现类似浏览器的功能。然而,对于大型或者资源丰富的网页,WebView的加载性能可能会成为用户体验的一个瓶颈。"Android实现...

    Android webview加载网页.zip

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,无需跳转到外部浏览器。这个“Android webview加载网页.zip”文件可能包含了一个示例项目或者教程,帮助开发者理解...

    WebView与Js交互

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。而JavaScript是网页开发的基石,提供了丰富的动态功能。当需要在Android应用中与网页进行交互时,WebView与JavaScript的...

    Android Webview视频播放器

    在Android平台上,Webview是一个非常重要的组件,它允许开发者在原生应用中嵌入网页内容。这个项目"Android Webview视频播放器"是利用Webview来实现HTML5视频播放功能的示例。以下是对这个项目的详细解读: 1. **...

    Android通过WEBVIEW调用HTTPS

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。当涉及到安全的网络通信时,HTTPS协议因其数据加密和身份验证特性成为首选。本文将深入探讨如何在Android...

    webview显示图片并下载

    在Android开发中,Webview是一个非常重要的组件,它允许我们加载和展示网页内容,同时还能与JavaScript进行交互。本文将详细讲解如何在Webview中显示图片以及实现图片的下载功能。 1. **Webview基本使用** 首先,...

    WPF与WebView2双向通信 WPF发送数据到WebView2显示的网页当中 WPF制作的浏览器与网页双向通信 WPF与网页

    WPF与WebView2之间的相互通信具有以下优点: 灵活性: 双向通信使得本地应用程序能够与网页内容无缝集成,提供丰富的交互体验。 代码复用: 网页开发者可以复用现有的Web技术栈和前端框架,同时利用WPF的强大功能...

    详解android 用webview加载网页(https和http)

    Android WebView 加载网页是移动应用开发中的一项基本需求。然而,在加载 HTTPS 和 HTTP 网页时,WebView 可能会出现一些问题,本文将详细介绍这两个错误的解决方法。 错误一:加载 HTTPS 请求的网页时,WebView ...

    Android 基于x5Webview 浏览文件 office文档

    X5WebView是腾讯QQ浏览器团队开源的一个高性能、跨平台的WebView组件,它基于Chromium内核,为Android开发者提供了更强大的网页渲染和交互能力。在"Android 基于x5Webview 浏览文件 office文档"的场景中,我们将探讨...

    WebView加载失败错误处理

    在Android应用开发中,WebView是一个非常重要的组件,它允许开发者在应用程序内嵌入网页内容,实现类似浏览器的功能。然而,在实际使用中,由于网络问题、页面不存在或编码错误等原因,WebView可能会加载失败。这时...

Global site tag (gtag.js) - Google Analytics