package io.bxbxbai.zhuanlan.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.util.AttributeSet;
import android.webkit.WebSettings;
import android.webkit.WebView;
/**
* Created by xuebin on 15/9/23.
*/
public class CommonWebView extends WebView {
public static final String ENCODING_UTF_8 = "UTF-8";
public static final String MIME_TYPE = "text/html";
public CommonWebView(Context context) {
super(context);
init();
}
public CommonWebView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CommonWebView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public CommonWebView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init();
}
private void init() {
if (isInEditMode()) {
return;
}
WebSettings settings = getSettings();
settings.setJavaScriptEnabled(true);
settings.setBuiltInZoomControls(false);
//设置缓存模式
settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//开启DOM storage API功能
settings.setDomStorageEnabled(true);
//开启database storage 功能
settings.setDatabaseEnabled(true);
String cacheDir = getContext().getFilesDir().getAbsolutePath() + "web_cache";
settings.setAppCachePath(cacheDir);
settings.setAppCacheEnabled(true);
settings.setLoadsImagesAutomatically(true);
settings.setDefaultTextEncodingName(ENCODING_UTF_8);
settings.setBlockNetworkImage(false);
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
setHorizontalScrollBarEnabled(false);
}
}