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

Android控件WebView(浏览器)常用功能(图片、缩放)例子介绍

 
阅读更多

Android系统默认提供WebView控件(view)来在应用中内嵌网页,使其具有浏览器的功能。WebView提供了灵活的配置来让用户自定义相关功能。前面说了关于Android中WebView实现Javascript调用Java类方法,下面在代码中对其他功能做详细描述:

package com.orgcent.webview;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings.LayoutAlgorithm;

public class AndroidWebViewActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        WebView content_wv = (WebView) findViewById(R.id.content_wv);
        WebSettings ws = content_wv.getSettings();
        ws.setJavaScriptEnabled(true); // 设置支持javascript脚本
        ws.setAllowFileAccess(true); // 允许访问文件
        ws.setBuiltInZoomControls(true); // 设置显示缩放按钮
        ws.setSupportZoom(true); //支持缩放

        /**
         * 用WebView显示图片,可使用这个参数
         * 设置网页布局类型:
         * 1、LayoutAlgorithm.NARROW_COLUMNS : 适应内容大小
         * 2、LayoutAlgorithm.SINGLE_COLUMN:适应屏幕,内容将自动缩放
         */
        ws.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
        ws.setDefaultTextEncodingName("utf-8"); //设置文本编码
        ws.setAppCacheEnabled(true);
        ws.setCacheMode(WebSettings.LOAD_DEFAULT);//设置缓存模式

        //添加Javascript调用java对象
        content_wv.addJavascriptInterface(this, "java2js");
        content_wv.setWebViewClient(new WebViewClientDemo());
        content_wv.setWebChromeClient(new WebViewChromeClientDemo());
        //设置打开的网页
        content_wv.loadUrl("http://orgcent.com");
        //使用WebView来显示图片
        content_wv.loadData("<img src='http://orgcent.com'/>", "text/html", "utf8");
    }

    private class WebViewClientDemo extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);// 当打开新链接时,使用当前的 WebView,不会使用系统其他浏览器
            return true;
        }
    }

    private class WebViewChromeClientDemo extends WebChromeClient {
        // 设置网页加载的进度条
        public void onProgressChanged(WebView view, int newProgress) {
        }

        // 获取网页的标题
        public void onReceivedTitle(WebView view, String title) {
        }

        // JavaScript弹出框
        @Override
        public boolean onJsAlert(WebView view, String url, String message,
                JsResult result) {
            return super.onJsAlert(view, url, message, result);
        }

        // JavaScript输入框
        @Override
        public boolean onJsPrompt(WebView view, String url, String message,
                String defaultValue, JsPromptResult result) {
            return super.onJsPrompt(view, url, message, defaultValue, result);
        }

        // JavaScript确认框
        @Override
        public boolean onJsConfirm(WebView view, String url, String message,
                JsResult result) {
            return super.onJsConfirm(view, url, message, result);
        }
    }

}
 转载: http://orgcent.com/android-webview-image-zoom-example/ | 萝卜白菜的博客
分享到:
评论

相关推荐

    Android网络功能开发-WebView控件使用的例子

    在Android应用开发中,WebView控件是一个至关重要的组件,它允许开发者在应用程序内部展示网页内容,无需离开应用即可实现浏览器的功能。本示例主要讲解如何在Android项目中使用WebView控件来加载并显示网页。 首先...

    android中简单webview例子

    `setBuiltInZoomControls(false)`和`setDisplayZoomControls(false)`用于隐藏缩放控件,`setOverScrollMode(WebView.OVER_SCROLL_NEVER)`则可以隐藏滚动条。`loadUrl`方法加载指定的网页URL。 这个简单的例子展示了...

    Android构建一个通用的WebView

    在这个例子中,我们启用了JavaScript支持,设置了缩放功能,并且当点击链接时,网页将在WebView内部打开,而不是跳转到外部浏览器。此外,我们还覆盖了`onBackPressed()`方法,使得用户可以按返回键回退到WebView的...

    Android如何让WebView中的HTML5页面实现视频全屏播放

    在这个例子中,我们指定了视频的宽高、控制条,并提供了多个视频源以适应不同的浏览器。 最后,别忘了在AndroidManifest.xml中添加网络权限,以允许WebView访问网络资源: ```xml &lt;uses-permission android:name=...

    android WebView加载html5介绍

    对于Android原生浏览器来说,它通常会将网页内容缩放以适应屏幕,而在WebView中,网页则按照原始尺寸显示。Android默认视作mdpi设备,hdpi设备相当于mdpi的1.5倍,而ldpi则是mdpi的0.75倍。为了优化在不同分辨率设备...

    android开发资料大全

    android控件的抖动效果 很漂亮的ListView android 图像处理滤镜 照亮边缘特效 无闪烁启动画面 Android实现《天女散花》效果--(带源码) 天天动听 半透明Menu效果 Android 小項目之---Iphone拖动图片特效 (附源码) ...

    Android与JS交互 DEMO

    这个"Android与JS交互 DEMO"是一个典型的例子,展示了如何利用WebView组件来实现Android应用与JavaScript之间的通信。在这个DEMO中,我们将深入探讨以下几个关键知识点: 1. **WebView组件**:WebView是Android SDK...

    Android高级应用源码-WebViewDemo.zip

    总的来说,WebViewDemo项目是学习和实践如何在Android应用中有效利用WebView的一个很好的例子,涵盖了从基础功能到高级特性的各种用法。通过这个项目,开发者可以更好地理解和掌握WebView在实际应用中的应用技巧,...

    Lab15_WebView

    在Android开发中,`WebView`是一个非常重要的组件,它允许我们在应用程序中嵌入网页内容,实现类似浏览器的功能。本实验室(Lab15_WebView)主要关注如何使用Java语言有效地利用`WebView`进行应用开发。 首先,`...

    androidWebApp:一个 webapp 使用 webview

    WebView是一个内置的浏览器控件,它可以加载并显示HTML、CSS和JavaScript等Web内容,从而让开发者能够在原生Android应用中嵌入网页体验。在这个名为"androidWebApp"的项目中,我们看到它是一个基于WebView构建的...

Global site tag (gtag.js) - Google Analytics