一、简介
目的:解决系统webview兼容性差、加载速度慢、功能缺陷等问题。
(Android4.4 以下 webKit内核,Android 4.4+ Chrome内核。)
官方:依托X5内核强大的能力,致力于提供优化移动端浏览体验的整套解决方案。
官网:https://x5.tencent.com/tbs/
二、简单使用
1.下载jar包添加到项目libs目录。
2.在配置清单文件,添加权限。
3.Application的onCreate()方法里配置
QbSdk.initX5Environment(getApplicationContext(), new QbSdk.PreInitCallback() {
@Override
public void onCoreInitFinished() {
//x5内核初始化完成回调接口,此接口回调并表示已经加载起来了x5,有可能特殊情况下x5内核加载失败,切换到系统内核。
}
@Override
public void onViewInitFinished(boolean b) {
//x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
Log.e("wy","加载内核是否成功:"+b);
}
});
注:如果加载内核失败:false,可能是没有配置ndk
ndk {
abiFilters 'armeabi' , 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}
4.布局文件xml中,webview必须是com.tencent.smtt.sdk.WebView
5.Activity中使用和正常webview一样,只是导入包必须是com.tencent.smtt.sdk的包
import com.tencent.smtt.sdk.WebChromeClient;
import com.tencent.smtt.sdk.WebSettings;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
WebSettings settings = mBinding.web.getSettings();
settings.setJavaScriptEnabled(true);
//设置WebView是否使用viewport
settings.setUseWideViewPort(true);
//设置WebView是否使用预览模式加载界面。
settings.setLoadWithOverviewMode(true);
//设置WebView是否支持使用屏幕控件或手势进行缩放
settings.setSupportZoom(true);
//设置WebView是否使用其内置的变焦机制,该机制集合屏幕缩放控件使用
settings.setBuiltInZoomControls(true);
注意:记得适配所有的cpu的机型,build.config文件
ndk {
abiFilters"armeabi","armeabi-v7a","x86","mips"
}