首页 > 解决方案 > Vimeo 视频无法在 android webview (ifame) 中完全适合屏幕播放(在纵向模式下不显示完全适合屏幕)

问题描述

Vimeo 视频无法在 android webview (ifame) 中完全适合屏幕播放(纵向模式下未显示完全适合屏幕)。任何人都可以帮助我吗?

 String vimeoVideo = "<html><body><iframe width=\"100%\" height=\"270\" src=\"https://player.vimeo.com/video/" + ch_url + "?player_id=player\" frameborder=\"0\"" +
                " allowfullscreen></iframe></body></html>";


    webView = (WebView) findViewById(R.id.video);

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest request) {

                webView.loadUrl(request.getUrl().toString());
                return true;
            }
        });
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
         webView.setWebChromeClient(new MyChrome());

        webView.loadData(vimeoVideo, "text/html", "utf-8");

    private void fullScreen() {
        if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            toolbar.setVisibility(View.GONE);
            cardView.setVisibility(View.GONE);
        } else {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            toolbar.setVisibility(View.VISIBLE);
            cardView.setVisibility(View.VISIBLE);
        }
    }

    private class MyChrome extends WebChromeClient {

        @Override
        public void onShowCustomView(View view, CustomViewCallback callback) {
            fullScreen();
            webView.setVisibility(View.GONE);


            super.onShowCustomView(view, callback);
        }

        @Override
        public void onHideCustomView() {
            fullScreen();
            webView.setVisibility(View.VISIBLE);


            super.onHideCustomView();
        }

    }

标签: androidiframewebview

解决方案


推荐阅读