Подгонка контента для вставки видео в iframe | андроид - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть веб-просмотр со встроенным фреймом для показа видео с разных сайтов.Приложение имеет функцию поворота, которая скрывает все другие виды в действии и делает веб-просмотр полноэкранным (ширина и высота = match_parent).

Веб-просмотр идеально подходит для контента, когда он находится в портретном режиме, но когда экранповернутое видео в iframe внезапно получает большую высоту, чем веб-вид, и веб-вид становится прокручиваемым (Вы можете прокручивать вверх и вниз для просмотра элементов управления и заголовка).Что мне нужно сделать, чтобы веб-просмотр соответствовал содержанию внутри него, когда он находится в альбомном режиме, как это происходит в портретном режиме, и чтобы его нельзя было прокручивать, просто поместите весь контент.

Я попытался испортитьвокруг с высотой и шириной контейнера и div, но не повезло.

Вот как я помещаю контент внутри веб-просмотра:

<style>.video-container { position: absolute; background-color: black;padding-bottom: 56.25%; padding-top: 0px; height: auto; width: auto; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; }.video-container iframe { position: absolute; top:0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; overflow: hidden; }.body {background-color: black;}</style><div class="video-container"><iframe width="480" height="270" src="https://www.youtube.com/embed/UtagUSECwOw?feature=oembed" scrolling="no" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="0"></iframe></div>

Затем его загружается в веб-просмотр так:

wbVideoPlayer.loadDataWithBaseURL("", getFixedIframe(content.getContentUrl()), "text/html", "UTF-8", "");

Вот мой метод onConfigurationChanged:

public void onConfigurationChanged(Configuration config) {
        super.onConfigurationChanged(config);
        switch (config.orientation) {

            case Configuration.ORIENTATION_LANDSCAPE:
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
                getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
                hideAll();
                flVideo.setBackground(ContextCompat.getDrawable(this, android.R.color.black));

                width = dm.widthPixels; //320
                height = dm.heightPixels; //480

                wbVideoPlayer.getSettings().setLoadWithOverviewMode(true);
                wbVideoPlayer.getSettings().setUseWideViewPort(true);
                wbVideoPlayer.setPadding(0, 0, 0, 0);
                wbVideoPlayer.setInitialScale(1);
                wbVideoPlayer.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);

                LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
                flVideoLayout.setLayoutParams(lp);

                break;

            case Configuration.ORIENTATION_PORTRAIT:
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
                getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
                showAll();
                flVideo.setBackground(ContextCompat.getDrawable(this, android.R.color.white));

                LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(width, (int) (250 * density));
                flVideoLayout.setLayoutParams(lp1);

                break;
        }

    }

Любая помощь будет оценена.Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...