Android-WebView4,android开发基础在线学习网站

<com.hjhrq1991.library.tbs.TbsBridgeWebView

android:id="@+id/webView"

android:layout_width=“match_parent”

android:layout_height=“match_parent” />

JsBridge的使用请参考Android-使用JsBridge来优化js与本地的交互

wvWebview.setWebViewClient(new MyWebViewClient());

wvWebview.setVerticalScrollBarEnabled(false); //垂直不显示

wvWebview.setHorizontalScrollBarEnabled(false);//水平不显示

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2)

{

WebSettings webSettings = wvWebview.getAndroid-WebView4,android开发基础在线学习网站
Settings();

webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); //支持内容重新布局

webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);//不使用缓存

webSettings.setJavaScriptEnabled(true);//允许JS

webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放

webSettings.setLoadWithOverviewMode(true);//设置屏幕自适应

}

wvWebview.loadUrl(url);

注:Android 4.4以下(不包含4.4)系统WebView底层实现是采用WebKit内核  19以下不需要设置Setting,但这里Api==18时也要设置Setting要不无法自适应屏幕

重要Tips

Tbs替换android.webkit相同的类

#系统内核 #SDK内核

android.webkit.ConsoleMessage com.tencent.smtt.export.external.interfaces.ConsoleMessage

android.webkit.CacheManager com.tencent.smtt.sdk.CacheManager(deprecated)

android.webkit.CookieManager com.tencent.smtt.sdk.CookieManager

android.webkit.CookieSyncManager com.tencent.smtt.sdk.CookieSyncManager

android.webkit.CustomViewCallback com.tencent.smtt.export.external.interfaces.IX5WebChromeClient.CustomViewCallback

android.webkit.DownloadListener com.tencent.smtt.sdk.DownloadListener

android.webkit.GeolocationPermissions com.tencent.smtt.export.external.interfaces.GeolocationPermissionsCallback

android.webkit.HttpAuthHandler com.tencent.smtt.export.external.interfaces.HttpAuthHandler

android.webkit.JsPromptResult com.tencent.smtt.export.external.interfaces.JsPromptResult

android.webkit.JsResult com.tencent.smtt.export.external.interfaces.JsResult

android.webkit.SslErrorHandler com.tencent.smtt.export.external.interfaces.SslErrorHandler

android.webkit.ValueCallback com.tencent.smtt.sdk.ValueCallback

android.webkit.WebBackForwardList com.tencent.smtt.sdk.WebBackForwardList

android.webkit.WebChromeClient com.tencent.smtt.sdk.WebChromeClient

android.webkit.WebHistoryItem com.tencent.smtt.sdk.WebHistoryItem

android.webkit.WebIconDatabase com.tencent.smtt.sdk.WebIconDatabase

android.webkit.WebResourceResponse com.tencent.smtt.export.external.interfaces.WebResourceResponse

android.webkit.WebSettings com.tencent.smtt.sdk.WebSettings

android.webkit.WebSettings.LayoutAlgorithm com.tencent.smtt.sdk.WebSettings.LayoutAlgorithm

android.webkit.WebStorage com.tencent.smtt.sdk.WebStorage

android.webkit.WebView com.tencent.smtt.sdk.WebView

android.webkit.WebViewClient com.tencent.smtt.sdk.WebViewClient

关于Cookie

com.tencent.smtt.sdk.CookieManager和com.tencent.smtt.sdk.CookieSyncManager的相关接口的调用,在接入SDK后,需要放到创建X5的WebView之后(也就是X5内核加载完成)进行;否则,cookie的相关操作只能影响系统内核。

参考文章

1.WebView无法获取焦点 
2.Android各个版本WebView 
3.WebView与js交互方式 
4.NoSuchMethodException:callDrawGLFunction

1.WebView无法获取焦点 
2.Android各个版本WebView 
3.WebView与js交互方式 
4.NoSuchMethodException:callDrawGLFunction

上一篇:idea工具maven项目引入本地sdk依赖


下一篇:windows SDK编程简单总结