android - 如何在 Android webview 中制作一个正方形大小的 HTML 表格填充屏幕

标签 android html css android-layout

希望有人能帮我解决这个问题。

在我的 Android 应用程序中,我有一个带有 WebView (和其他一些 View )的 fragment 。 Web View 显示带有 HTML 表格的页面。这张 table 是一个游戏板,有 8 x 8 个单元格(像棋盘)。

问题是我希望表格尽可能填满屏幕。但同时它也需要完美的方形(宽度和高度必须保持相同)。

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


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

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

最佳答案

我终于找到了解决方案:

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

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

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

这是一个丑陋的解决方案,但它可以在我的手机和平板电脑上以横向和纵向模式运行。

关于android - 如何在 Android webview 中制作一个正方形大小的 HTML 表格填充屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18156300/

相关文章:

javascript - 根据复选框更改 HTML 值

css - 样式禁用 ionic 选择

javascript - 如何用鼠标滚动显示一个div在另一个div后面

javascript - 为什么这个动画会出现在这个网页中?

html - 在 HTML 中使用文件路径作为超链接

javascript - 为什么这个函数会导致错误?

android - 不移动下一个 Activity 从android中的另一个 Activity 发送数据

java - 在 Android 中使用 createScaledBitmap 创建缩放位图

java - RecyclerView 不显示接收到的数据

android - 重用 Fragment 或布局文件