package com.weikou.beibeivideo.util.x5; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.os.Build; import android.os.Bundle; import android.util.AttributeSet; import android.view.View; import android.widget.TextView; import com.tencent.smtt.sdk.CookieSyncManager; import com.tencent.smtt.sdk.QbSdk; import com.tencent.smtt.sdk.WebSettings; import com.tencent.smtt.sdk.WebSettings.LayoutAlgorithm; import com.tencent.smtt.sdk.WebView; import com.tencent.smtt.sdk.WebViewClient; public class X5PlayerWebView extends WebView { TextView title; private WebViewClient client = new WebViewClient() { /** * 防止加载网页时调起系统浏览器 */ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }; @SuppressLint("SetJavaScriptEnabled") public X5PlayerWebView(Context arg0, AttributeSet arg1) { super(arg0, arg1); this.setWebViewClient(client); initWebViewSettings(); this.getView().setClickable(true); } private void initWebViewSettings() { WebSettings webSetting = this.getSettings(); webSetting.setJavaScriptEnabled(true); webSetting.setJavaScriptCanOpenWindowsAutomatically(true); webSetting.setAllowFileAccess(true); webSetting.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS); webSetting.setSupportZoom(false); webSetting.setBuiltInZoomControls(true); webSetting.setUseWideViewPort(true); webSetting.setSupportMultipleWindows(true); // webSetting.setLoadWithOverviewMode(true); webSetting.setAppCacheEnabled(true); // webSetting.setDatabaseEnabled(true); webSetting.setDomStorageEnabled(true); webSetting.setGeolocationEnabled(true); webSetting.setAppCacheMaxSize(Long.MAX_VALUE); // webSetting.setPageCacheCapacity(IX5WebSettings.DEFAULT_CACHE_CAPACITY); webSetting.setPluginState(WebSettings.PluginState.ON_DEMAND); // webSetting.setRenderPriority(WebSettings.RenderPriority.HIGH); webSetting.setCacheMode(WebSettings.LOAD_NO_CACHE); // this.getSettingsExtension().setPageCacheCapacity(IX5WebSettings.DEFAULT_CACHE_CAPACITY);//extension // settings 的设计 webSetting.setUserAgent(webSetting.getUserAgentString().replace("TBS", "BUWAN").replace("MQQBrowser", "BUWANBrowser")); webSetting.setTextZoom(100); try { Bundle data = new Bundle(); //true表示标准全屏,false表示X5全屏;不设置默认false, data.putBoolean("standardFullScreen", true); //false:关闭小窗;true:开启小窗;不设置默认true, data.putBoolean("supportLiteWnd", false); //1:以页面内开始播放,2:以全屏开始播放;不设置默认:1 data.putInt("DefaultVideoScreen", 1); this.getX5WebViewExtension().invokeMiscMethod("setVideoParams", data); } catch (Exception e) { } CookieSyncManager.createInstance(getContext()); CookieSyncManager.getInstance().sync(); } @Override protected boolean drawChild(Canvas canvas, View child, long drawingTime) { boolean ret = super.drawChild(canvas, child, drawingTime); canvas.save(); return ret; } public X5PlayerWebView(Context arg0) { super(arg0); setBackgroundColor(85621); } }