我在我的项目中使用 WebView 小部件来显示 HTML5 视频或 HTML5 中的不同内容。MATCH_PARENT
如果我的 WebView 在并适合我的屏幕设备,我可以毫无问题地呈现这些 HTML5 页面(使用视频或不使用视频) 。
当我在固定大小的 WebView 中看到 HTML5 视频和其他 HTML5 元素(使用 3D 属性?检查进度...)时出现问题。我想我的问题是在 WebView 渲染一些元素时发生的SurfaceView
,当 WebView 布局参数不是时,这会导致内容发生变化MATCH_PARENT
。
让我用一个例子来解释一下,考虑一个 800 * 600 的设备,我决定将我的 webview 居中,它的宽度为 400px。所以我可以在 webview 的右侧看到 100px,在左侧看到 100px,正常。我看到我的 HTML5 视频向右裁剪。裁剪的宽度是屏幕左边框与 webview 左侧之间的偏移量。如果我增加 webview 左侧的空间,裁剪将具有与该空间相同的值。
从 youtube 页面,HTML5 内容以与我的 webview 相同的大小正确显示,但只是我的视频 HTML5 元素被裁剪......为了更好地理解,我让你看一下更容易理解的截图......
从 Android 3.x 到 4.0.x 出现问题。从运行 Android 4.1 和三星 Galaxy S III Android 4.1 的 Nexus S 手机,问题得到解决。
我很惊讶地发现没有人在 bugreport 或 stackoverflow 上报告过这个问题?一般来说,我认为webview是全屏使用的。
如果您可以使用基本项目重现此问题,请转到此地址: