1. Alterar o arquivo de manifesto
Atividade na declaração de que está colocado no WebView adicionar o código a seguir:
android: hardwareAccelerated = "true"
android: configChanges = "orientação | screensize | keyboardHidden"
2. mudança de classe Java
1. configurações de inicialização WebView:
@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 a imagem não mostra
mWebSettings.setTextZoom (100); // definir o nível de zoom padrão, siga o sistema para evitar o tamanho da fonte mudança de página
@ {projectos // pendentes
mWebSettings.setAllowFileAccess (true);
mWebSettings.setJavaScriptCanOpenWindowsAutomatically (true);
mWebSettings.setDomStorageEnabled (true); // deve ser preservado, caso contrário você não pode reproduzir vídeo Youku, o outro OK
experimentar {
if (Build.VERSION.SDK_INT> = 16) {
Classe clazz = mWebSettings.getClass ();
Método = clazz.getMethod ( "setAllowUniversalAccessFromFileURLs", boolean.class);
if (método! = null) {
method.invoke (mWebSettings, verdadeiro);
}
}
} Catch (exceção e) {
e.printStackTrace ();
}
mWebSettings.setPluginState (WebSettings.PluginState.ON);
CookieManager cookieManager = CookieManager.getInstance ();
cookieManager.setAcceptCookie (true);
// @}
// chama o método JS. Versão Android é maior do que 17, adicionar comentários @JavascriptInterface
mWebSettings.setJavaScriptEnabled (true);
if (Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP) {
mWebSettings.setMixedContentMode (android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.setWebChromeClient (webChromeClient);
}
Propriedade é definida para indicar os projectos pendentes dispensável, não afeta o jornal disse que a funcionalidade é implementada. Aplicação Agente Newell
2. Para alcançar cromo agente:
WebChromeClient webChromeClient = novo WebChromeClient () {
WebChromeClient.CustomViewCallback mCallback;
@Sobrepor
onShowCustomView public void (Ver vista, CustomViewCallback callback) {
tela cheia();
mCallback = chamada de retorno;
super.onShowCustomView (ver, de retorno de chamada);
}
@Sobrepor
onHideCustomView public void () {
tela cheia();
super.onHideCustomView ();
}
};
fullScreen private void () {
se (getResources (). getConfiguration (). orientação == Configuration.ORIENTATION_PORTRAIT) {
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
LogUtil.i (TAG + "横 屏");
} outro {
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
LogUtil.i (TAG + "竖 屏");
}
}
3. Método de reconfiguração onConfigurationChanged:
@Sobrepor
public void onConfigurationChanged (Configuração newconfig) {
super.onConfigurationChanged (NEWCONFIG);
switch (newConfig.orientation) {
caso Configuration.ORIENTATION_LANDSCAPE:
. GetWindow () ClearFlags (WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
. GetWindow () addFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN);
pausa;
caso Configuration.ORIENTATION_PORTRAIT:
. GetWindow () ClearFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN);
. GetWindow () addFlags (WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
pausa;
}
}
OK, siga os passos acima depois de colar terminado e pronto! Você pode copiar um link para esta página para abrir a plataforma Live e, em seguida, clique na tela cheia para assistir teste ao vivo.