0

YouTube ビデオを webview 内に埋め込もうとしていますが、ビデオの右側に小さなマージンがあり、消えていないようです。

これらのような他の多くの質問を見て、javascript を修正しようとしましたが、まだマージンがあります。

これが私のコードです:

           video = (WebView) v.findViewById(R.id.videoview);

    // video.getSettings().setLoadWithOverviewMode(true);
    // video.getSettings().setUseWideViewPort(true);

    String widthAndHeight = "width='null' height='null'";
    String videoURL = "http://www.youtube.com/v/DZi6DEJsOJ0";

    video.setHorizontalScrollBarEnabled(false);
    video.setVerticalScrollBarEnabled(false);

    video.getSettings().setJavaScriptEnabled(true);
    video.getSettings().setPluginsEnabled(true);

    String temp = "<object "
            + widthAndHeight
            + ">"
            + "<body style='margin:0;padding:0;rightmargin:0'>" 
            + "<param name='allowFullScreen' value='true'>"
            + "</param><param name='allowscriptaccess' value='always'>"
            + "</param><embed src='"
            + videoURL
            + "'"
            + " type='application/x-shockwave-flash' style='margin:0;padding:0;' allowscriptaccess='always' allowfullscreen='true'"
            + widthAndHeight + "></embed></object>";

    video.loadData(temp, "text/html", "utf-8");

javascript 内に style:body=0'margin=0 タグを付けてみました。携帯電話でデバッグしているため、スクリーンショットをアップロードする方法がわかりませんが、ビデオの右側に約6ピクセルの余白があり、ビデオの左側と上部が画面に合わせられています。

4

2 に答える 2

1

HTML はデフォルトで左揃えなので、右側にマージンがある場合、これは margin:0 が機能したことを意味します。ただし、右側のマージンを 0 に設定しても、オブジェクトがいっぱいになるわけではないため、役に立ちません。

言ってみる

        + " type='application/x-shockwave-flash' style='margin:0;width:100%;padding:0;' allowscriptaccess='always' allowfullscreen='true'"

埋め込みの幅を 100% に設定してもうまくいかない場合は、幅をデバイスの画面の幅に設定してみてください。向きを更新することを忘れないでください。

于 2012-07-25T16:16:50.967 に答える
0

したがって、多くの調査とそれがどのように機能するかを理解しようとした後、将来必要になる可能性のある人のために、この作業コードがあります。

            Display display = getActivity().getWindowManager().getDefaultDisplay();
    int width = display.getWidth();
    int widthdp = (int) (width / getResources().getDisplayMetrics().density);
    int height = display.getHeight();
    int heightdp = (int) (height / getResources().getDisplayMetrics().density);


    String widthAndHeight = "width=" + widthdp + "height=" + heightdp;

    String temp = "<object "
            + widthAndHeight
            + ">"
            + "<body style='margin:0;padding:0;'>"
            + "<param name='allowFullScreen' value='true'>"
            + "</param><param name='allowscriptaccess' value='always'>"
            + "</param><embed src='"
            + videoPoP
            + "'"
            + " type='application/x-shockwave-flash' style='margin:0;padding:0;' allowscriptaccess='always' allowfullscreen='true'"
            + widthAndHeight + "></embed></object>";

    video.loadData(temp, "text/html", "utf-8");

問題は、画面の幅と高さを取得すると、密度ピクセルと通常のピクセル化の問題が台無しになることでした.

于 2012-07-25T22:59:00.287 に答える