1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > android 双 webview Android webview加载页面

android 双 webview Android webview加载页面

时间:2021-02-19 01:59:35

相关推荐

android 双 webview Android webview加载页面

释放双眼,带上耳机,听听看~!

Android webview加载页面

private WebView webView;

public void init() {

webView = (WebView) findViewById(R.id.webview);

//支持js

webView.getSettings().setJavaScriptEnabled(true);

WebSettings webSettings= webView.getSettings();

//缓存模式

webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);

//自适应页面

webView.getSettings().setUseWideViewPort(true);

webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);

// 缩放至屏幕的大小

webView.getSettings().setLoadWithOverviewMode(true);

//支持缩放

webView.getSettings().setSupportZoom(true);

//关闭缩放按钮

webView.getSettings().setBuiltInZoomControls(false);

//隐藏原生的缩放控件

webView.getSettings().setDisplayZoomControls(false);

//启用h5缓存 (webview存在两种缓存:网页数据缓存(存储打开过的页面及资源)、H5缓存(即appcache))

webSettings.setAppCacheEnabled(true)

//h5缓存大小

webSettings.setAppCacheMaxSize(size);

String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath();

//h5缓存路径

webSettings.setAppCachePath(appCachePath);

//​设置可以访问文件

webSettings.setAllowFileAccess(true);

//设置开启Dom Storage机制

webSettings.setDomStorageEnabled(true);

//WebView的渲染程度高

webSettings.setRenderPriority(WebSettings.RenderPriority.HIGH);

webView=getIntent().getStringExtra("webView");

//不阻塞网络图片下载(图片加载不出来的时候,设置有效)

webSettings.setBlockNetworkImage(false);;

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP ) {

//系统默认禁止了mixed content和第三方cookie(当图片不显示的时候,开启MixedContentMode)

webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

}

//不跳转系统自带的浏览器

webView.setWebViewClient(new LoadWebView());

webView.loadUrl(weburl);

}

//自适应

WebSettings.LayoutAlgorithm.NARROW_COLUMNS :适应内容大小

WebSettings.LayoutAlgorithm.NARROW_COLUMNS :适应屏幕,内容将自动缩放

//缓存模式

1,LOAD_CACHE_ONLY: 不使用网络,只读取本地缓存数据

2,LOAD_DEFAULT: 根据cache-control决定是否从网络上取数据。

3,LOAD_CACHE_NORMAL: API level 17中已经废弃, 从API level 11开始作用同LOAD_DEFAULT模式

4,LOAD_NO_CACHE: 不使用缓存,只从网络获取数据.

5,LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据。

//常用缩放meta

1、width :控制viewport的大小)

2、height :指定高度

3、initial-scale :初始缩放比例,页面第一次加载时的缩放比例

4、maximum-scale :允许用户缩放到的最大比例

5、minimum-scale :允许用户缩放到的最小比例

6、user-scalable :用户是否可以手动缩放

//Dom Storage机制

dom Storage机制与cookie类似,但是有更大的存储空间 DOM Storage 分为 sessionStorage和 localStorage。localStorage 对象和 sessionStorage 对象使用方法基本相同,它们的区别在于作用的范围不sessionStorage 用来存储与页面相关的数据,它在页面关闭后无法使用。而 localStorage 则持久存在,在页面关闭后也可以使用。

class LoadWebView extends WebViewClient {

//加载完毕时

@Override

public void onPageFinished(WebView view, String url) {

}

//在webview加载URL的时候可以截获这个动作

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

webView.loadUrl(weburl);

return true;

}

//加载开始时

@Override

public void onPageStarted(WebView view, String url, Bitmap favicon) {

super.onPageStarted(view, url, favicon);

}

@Override

public void onReceivedSslError(WebView view,

SslErrorHandler handler, SslError error) {

// handler.proceed();// 接受所有网站的证书

// webView.loadUrl(weburl);

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。