0

我正在尝试在 webview 中嵌入一个 youtube 视频,并且视频右侧似乎有一小块边距不会消失。

我看到了许多其他类似的问题,并尝试修复 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 回答