webview中的视频边距

时间:2012-07-25 15:56:43

标签: javascript android video webview android-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中给出样式:body = 0'margin = 0标签。我不知道如何上传屏幕截图,因为我正在手机上进行调试,但视频右侧的视频边距约为6像素,而视频的左侧和顶部与屏幕对齐。

2 个答案:

答案 0 :(得分:1)

嗯,默认情况下HTML是左对齐的,因此,如果你在RIGHT手边有一​​个边距,这意味着margin:0工作。但是,将右侧边距设置为0将无济于事,因为它并不意味着对象将填充。

试着说

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

如果将embed的宽度设置为100%不起作用,可能会尝试将宽度设置为设备屏幕的宽度,并且不要忘记更新方向。

答案 1 :(得分: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");

问题是获得屏幕的宽度和高度会搞砸密度像素和正常的像素化问题。