Android WebView ver el video en pantalla completa en pantalla completa Ver en vivo

1. Cambiar el archivo de manifiesto

La actividad en la declaración que se colocan en WebView agregue el código siguiente:

android: hardwareAccelerated = "true"

Android: configChanges = "orientación | ScreenSize | keyboardHidden"

2. cambio de clase de Java

1. Ajustes de vista Web de inicialización:

@JavascriptInterface

initWebView private void () {

WebSettings mWebSettings = mWebView.getSettings ();

mWebSettings.setSupportZoom (true);

mWebSettings.setLoadWithOverviewMode (true);

mWebSettings.setUseWideViewPort (true);

mWebSettings.setDefaultTextEncodingName ( "UTF-8");

mWebSettings.setLoadsImagesAutomatically (true);

mWebSettings.setBlockNetworkImage (false); // resolver la imagen no muestra

mWebSettings.setTextZoom (100); // establecer el nivel de zoom predeterminado, siga el sistema para evitar que el tamaño de página de cambio de fuente

@ {// proyectos pendientes

mWebSettings.setAllowFileAccess (true);

mWebSettings.setJavaScriptCanOpenWindowsAutomatically (true);

mWebSettings.setDomStorageEnabled (true); // debe ser preservado, de lo contrario no se puede reproducir vídeo Youku, el otro OK

tratar {

si (Build.VERSION.SDK_INT> = 16) {

clazz class = mWebSettings.getClass ();

método Método = clazz.getMethod ( "setAllowUniversalAccessFromFileURLs", boolean.class);

si (método! = null) {

method.invoke (mWebSettings, true);

}

}

} Catch (Exception e) {

e.printStackTrace ();

}

mWebSettings.setPluginState (WebSettings.PluginState.ON);

CookieManager CookieManager = CookieManager.getInstance ();

cookieManager.setAcceptCookie (true);

// @}

// llamar al método JS. Versión de Android es mayor que 17, añadir comentarios @JavascriptInterface

mWebSettings.setJavaScriptEnabled (true);

si (Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP) {

mWebSettings.setMixedContentMode (android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

}

mWebView.setWebChromeClient (webChromeClient);

}

Propiedad se establece para indicar los proyectos pendientes prescindible, no afecta al papel de dicha funcionalidad se implementa. Aplicación Agente Newell

2. Para lograr cromo Agente:

WebChromeClient webChromeClient = new WebChromeClient () {

WebChromeClient.CustomViewCallback mCallback;

@Anular

onShowCustomView public void (Ver vista, CustomViewCallback devolución de llamada) {

pantalla completa();

mCallback = devolución de llamada;

super.onShowCustomView (vista, de devolución de llamada);

}

@Anular

onHideCustomView public void () {

pantalla completa();

super.onHideCustomView ();

}

};

fullScreen private void () {

si (getResources (). getConfiguration (). orientación == Configuration.ORIENTATION_PORTRAIT) {

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

LogUtil.i (TAG + "横 屏");

} Else {

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

LogUtil.i (TAG + "竖 屏");

}

}

3. reescritura método onConfigurationChanged:

@Anular

onConfigurationChanged public void (Configuración newconfig) {

super.onConfigurationChanged (newconfig);

interruptor (newConfig.orientation) {

Configuration.ORIENTATION_LANDSCAPE caso:

. GetWindow () clearFlags (WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

. GetWindow () addFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN);

descanso;

Configuration.ORIENTATION_PORTRAIT caso:

. GetWindow () clearFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN);

. GetWindow () addFlags (WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

descanso;

}

}

OK, siga los pasos anteriores después de pegar terminado y listo! Se puede copiar un enlace a esta página para abrir la plataforma Live, y luego haga clic en la pantalla completa para ver la prueba en vivo.

Supongo que te gusta

Origin blog.51cto.com/14511863/2477578
Recomendado
Clasificación