Android WebView 参数设置明细!

WebView wv = new WebView(content);

WebSettings ws = wv.getSettings();

设置参数明细如下:

setPluginsEnabled(true) ;//支持插件

setUserWideViewPort(false) ;//将图片调整到适合webview的大小

setSupportZoom(true) ;//支持缩放

setLayoutAlgorithm(LayoutAlgrithm.SINGLE_COLUMN) ;//支持内容从新布局

supportMultipleWindows() ;//多窗口

setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK) ;//关闭webview中缓存

setAllowFileAccess(true) ;//设置可以访问文件

setNeedInitialFocus(true) ;//当webview调用requestFocus时为webview设置节点

setjavaScriptCanOpenWindowsAutomatically(true) ;//支持通过JS打开新窗口

setLoadsImagesAutomatically(true) ;//支持自动加载图片

setBuiltInZoomControls(true);

//支持缩放

webView.setInitialScale(35);

//设置缩放比例

webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);

//设置滚动条隐藏

webView.getSettings().setGeolocationEnabled(true);

//启用地理定位

webView.getSettings().setRenderPriority(RenderPriority.HIGH);

//设置渲染优先级

String dir = "/sdcard/temp";//设置定位的数据库路径

webView.getSettings().setGeolocationDatabasePath(dir);

这里是使用webview以及webview的相关设置,课根据实际情况进行设置.

WebViewClient的方法全解

doUpdateVisitedHistory(WebView view, String url ,boolean isReload)

更新历史记录

onFormResubmission(WebView view, Message dontResend, Message resend)

应用程序重新请求页面数据

onLoadResource(WebView view, String url)

在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次

onPageStarted(WebView view, String url, Bitmap favicon)

这个事件就是开始载入页面调用的,通常我们可以在这个设定一个loading的页面,告诉用户程序在等待网络相应。

onPageFinished(WebView view, String url)

在页面加载结束时调用,同样道理,我们知道一个页面载入完成,于是我们可以关闭loading条,切换程序动作。

onReceivedError(WebView view, int errorCode, String description, String failingUrl)

报告错误信息onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host,Stirng realm)

获取返回信息授权请求onScaleChanged(WebView view, float oldScale, float newScale)WebView 发生改变时调用onUnhandledKeyEvent(WebView view, KeyEvent event)key事件未被加载时调用

shouldOverrideUrlLoading

并不是每次都在onPageStarted之前开始调用的,就是说一个新的URL不是每次都经过

shouldOverrideUrlLoading的,只有在调用webview.loadURL的时候才会调用。

//设置在同一个webview中打开新的网页

webView.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } });

//设置WebChromeClientwebView.setWebChromeClient(new WebChromeClient(){//配置权限

public void onGeolocationPermissionsShowPrompt(String origin,GeolocationPermissions.Callback callback){callback.invoke(origin, true, false);

super.onGeolocationPermissionsShowPrompt(origin, callback);}

//处理javascript中的alertpublic boolean onJsAlert(WebView view, String url, String message, final JsResult result) {//构建一个Builder来显示网页中的对话框

Builder builder = new Builder(MainAcitivity.this);

builder.setTitle("提示");

builder.setMessage(message);

builder.setPositiveButton(android.R.string.ok,new AlertDialog.OnClickListener() {public void onClick(DialogInterface dialog, int which) {result.confirm();}});

builder.setCancelable(false);

builder.create();

builder.show();

return true;

@Override//设置网页加载的进度条

public void onProgressChanged(WebView view, int newProgress) {MainAcitivity.this.getWindow().setFeatureInt(Window.FEATURE_PROGRESS, newProgress * 100);

super.onProgressChanged(view, newProgress);}

//设置应用程序的标题

titlepublic void onReceivedTitle(WebView view, String title) {MainAcitivity.this.setTitle(title);

super.onReceivedTitle(view, title);}});

//判断是否联网

ConnectivityManager cm;

cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

boolean isWifiConnected=cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED;

if(!isWifiConnected){boolean isGprsConnected=cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED;

if(!isGprsConnected){new AlertDialog.Builder(this) .setTitle("提示" ) .setMessage("离线状态,启用离线模式" ) .setPositiveButton("确定" , null ) .show(); }else{result = CallWCF();}}

时间: 2024-08-28 02:58:07

Android WebView 参数设置明细!的相关文章

Android WebView代理设置方法(API10~21适用)

最近碰到个需求需要在APP中加入代理,HttpClient的代理好解决,但是WebView碰到些问题,然后找到个API10~API21都通用的类,需要用的同学自己看吧,使用方法,直接调用类方法setProxy即可,applicationName可以设置为null. 1 /** 2 * Created by shengdong.huang on 2015/9/18. 3 */ 4 public class ProxySettings { 5 6 private static final Strin

android开发(36) Android WebView背景设置为透明

xml布局 <WebView android:id="@+id/wv_content" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" android:layerType="software" /> 代码

android webView 默认设置

1 webView= (WebView) findViewById(R.id.webView); 2 3 WebSettings webSetting =webView.getSettings(); 4 webSetting.setAllowFileAccess(true); 5 webSetting.setJavaScriptEnabled(true); 6 webSetting.setDomStorageEnabled(true); 7 webSetting.setDatabaseEnabl

android webview setcookie 设置cookie

CookieSyncManager.createInstance(mWebView.getContext()); CookieManager cookieManager = CookieManager.getInstance(); <br>        //如果使用cookie.setCookie(DOMAIN,String.format("version=%s; domain=%s",mApp.getVersionCode,DOMAIN))<br> //在某

Android WebView启动Chromium渲染引擎的过程分析

Android WebView加载了Chromium动态库之后,就可以启动Chromium渲染引擎了.Chromium渲染引擎由Browser.Render和GPU三端组成.其中,Browser端负责将网页UI合成在屏幕上,Render端负责加载网页的URL和渲染网页的UI,GPU端负责执行Browser端和Render端请求的GPU命令.本文接下来详细分析Chromium渲染引擎三端的启动过程. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注! Andro

Android WebView问题汇总以及解决方法

Android WebView常见问题解决方案汇总: 1.Android webview背景设置为透明无效 webview是一个使用方便.功能强大的控件,但由于webview的背景颜色默认是白色,在一些场合下会显得很突兀(比如背景是黑色). 此时就想到了要把webview的背景设置为透明,这样就可以与其背景融为一体. 在2.X的平台下,一般设置webview背景为透明的方法如下: wvContent.setBackgroundColor(0); 但当程序在4.0上使用时,发现居然这种设置方法无法

Android进阶(二十五)setTextColor()的参数设置方式

setTextColor()的参数设置方式 查了下资料发现setTextColor()的参数可以写成以下形式: 直接使用颜色值 setTextColor(0xFF0000FF);//0xFF0000FF是int类型的数据,分组一下0x|FF|0000FF,0x是代表颜色整数的标记,ff是表示透明度,0000FF表示颜色,注意:这里0xFF0000FF必须是8个的颜色表示,不接受0000FF这种6个的颜色表示. 使用系统自带的颜色类 setTextColor(android.graphics.Co

【转】android webview设置内容的字体大小

Enum for specifying the text size. SMALLEST is 50% SMALLER is 75% NORMAL is 100% LARGER is 150% LARGEST is 200%原文:http://www.cnblogs.com/yourancao520/archive/2012/06/14/2548900.html /**  * webview  */ WebView wv; /**  * Manages settings state for a W

Android WebView 开发教程

1.WebView的使用 (a). 创建WebView的实例加入到Activity中 WebView webview = new WebView(this); setContentView(webview); 或者在xml中配置WebView <Webview android:layout_width="match_parent" android:layout_height="match_parent" > </Webview> (b). 访