Как я могу войти в полноэкранный режим с помощью функции webview

#html5-video #android-fullscreen #html5-fullscreen

Вопрос:

У меня есть веб-сайт, и я использую App Inventor для создания приложения для Android для своего веб-сайта. У меня есть сообщения с видео в формате html, но каждый раз, когда я захожу в приложение, чтобы посмотреть свои видео в приложении, я не могу войти в полноэкранный режим!!

Ответ №1:

Решение для включения полноэкранного просмотра интернет-видео при доступе в WebView для таких сайтов, как Youtube или любой другой потоковый сайт.:

Допустим, у вас есть эта переменная, и вы использовали функцию findViewById() в onCreate для ее настройки. Мы также использовали MainActivity в качестве переменной для ссылки на действие, содержащее веб-представление.

Следуйте приведенным ниже инструкциям

 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);
            }
        });