如何解决如何使用 webview 功能进入全屏模式
我有一个网站,我使用 App Inventor 为我的网站创建了一个 Android 应用程序。我的帖子上有html视频,但是每次进入应用看我在应用中的视频,都进不去全屏模式!!
解决方法
针对 Youtube 或任何其他流媒体网站等网站在 WebView 中访问互联网视频时启用全屏显示的解决方案:
假设您有这个变量,并且您在 onCreate 中使用了 findViewById() 来设置它。我们还使用 mainActivity 作为变量来引用包含 webview 的活动。
遵循以下说明
WebView webView;
Activity mainActivity = this; // If you are in activity
Activity mainActivity = getActivity(); // If you are in fragment
然后按照这个步骤
webView.getSettings().setJavaScriptEnabled(true); //Enable Javascript
webView.getSettings().setDomStorageEnabled(true); //enable local storage for WebView
webView.setWebChromeClient(new WebChromeClient()
{
private View mCustomView;
private WebChromeClient.CustomViewCallback mCustomViewCallback;
protected FrameLayout mFullscreenContainer;
private int mOriginalOrientation;
private int mOriginalSystemUiVisibility;
public Bitmap getDefaultVideoPoster()
{
if (mainActivity == null) {
return null;
}
return BitmapFactory.decodeResource(mainActivity.getApplicationContext().getResources(),2130837573);
}
public void onHideCustomView()
{
((FrameLayout)mainActivity.getWindow().getDecorView()).removeView(this.mCustomView);
this.mCustomView = null;
mainActivity.getWindow().getDecorView().setSystemUiVisibility(this.mOriginalSystemUiVisibility);
mainActivity.setRequestedOrientation(this.mOriginalOrientation);
this.mCustomViewCallback.onCustomViewHidden();
this.mCustomViewCallback = null;
}
public void onShowCustomView(View paramView,WebChromeClient.CustomViewCallback paramCustomViewCallback)
{
if (this.mCustomView != null)
{
onHideCustomView();
return;
}
this.mCustomView = paramView;
this.mOriginalSystemUiVisibility = mainActivity.getWindow().getDecorView().getSystemUiVisibility();
this.mOriginalOrientation = mainActivity.getRequestedOrientation();
this.mCustomViewCallback = paramCustomViewCallback;
((FrameLayout)mainActivity.getWindow().getDecorView()).addView(this.mCustomView,new FrameLayout.LayoutParams(-1,-1));
mainActivity.getWindow().getDecorView().setSystemUiVisibility(3846);
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。