0

希望有人可以帮助我。

在我的 Android 应用程序中,我有一个带有 web 视图(和其他一些视图)的片段。webview 显示一个带有 HTML 表格的页面。这张桌子是一个游戏板,有 8 x 8 个单元格(如棋盘)。

问题是我希望表格尽可能地填满屏幕。但同时它也需要完全平方(宽度和高度必须保持不变)。

我怎样才能做到这一点?在 HTML 中将宽度和高度设置为 100% 不会使其成为正方形。如果我将它们设置为固定数字,它们不会在不同的屏幕尺寸上调整大小。我还尝试使用 WebView.getWidth() 来获取 webview 的大小,然后缩放表格以填充它。但是在加载页面之前我无法知道webview的大小,在我知道webview的大小之前我无法加载页面......


其他一些细节(我不知道它们是否相关):

片段中的布局是从 Fragment.onCreateView 中的布局文件扩展而来的。然后,在 Fragment.onActivityCreated 中,我通过 Java 代码将 webview 添加到片段中。HTML 也是由 Java 代码动态创建的。

4

1 回答 1

0

我终于找到了一个解决方案:

  1. 我没有尝试获取 webview 的大小,而是取片段的大小并减去其他视图的大小。这为我提供了可用于 web 视图的剩余空间。

  2. 即使在 onResume 中,所有维度都为零。所以在 onResume 我创建了一个半秒后运行的处理程序。在这里,我创建要显示的 HTML 文档。

  3. 我将 HTML 文档的大小设置为片段中可用空间大小的一半。(我不知道为什么我需要减半。)

这是一个丑陋的解决方案,但它在我的手机和平板电脑上都适用于横向和纵向模式。

于 2013-08-21T10:09:36.363 回答