2012-07-25 74 views
0

我想在webview中嵌入一个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"); 

我试图让风格:体= 0'margin = 0的JavaScript标记内。我不知道如何上传屏幕截图,因为我在手机上进行了调试,但在视频右侧的视频边缘大约为6像素,而左侧和视频顶部与屏幕对齐。

回答

1

那么,默认情况下HTML是左对齐的,所以,如果你在右手边有一个边距,这意味着margin:0有效。但是,将右侧边距设置为0将无济于事,因为这并不意味着该对象会填充。

尝试说

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

如果设置宽度为100%,为嵌入不工作,也许尝试设置宽度设备屏幕的宽度,不要忘记对方向进行更新。

+0

非常感谢。将这个宽度设置为100%后,这次工作! – Android2390 2012-07-25 16:39:02

+0

嘿忽略我以前的答案,原来的参数“%”不工作在JavaScript加上给样式标记100%的宽度将无法工作的视频,我已经公布解决方案来解决这个问题,这将工作任何手机,因为它根据手机/平板电脑屏幕尺寸 – Android2390 2012-07-25 23:00:54

+0

计算宽度和高度,这是选项nr。两个如果你看看它:) – Aadaam 2012-07-25 23:24:23

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"); 

的问题是越来越宽度和高度的屏幕会拧紧密度像素和正常的像素问题。