如何在添加数据后调整android webview的大小

2023-12-25

在布局(线性、垂直)层次结构中,我有多个视图,其中之一是 WebView。 它们都有相同的参数:

android:layout_width="fill_parent"
android:layout_height="wrap_content"

对于所有视图,元素之间的间距都得到正确处理,但对于 Web 视图,内部显示的文本后面有很多空格。

我使用布局在活动的“onCreate”方法中设置了 webview 的(HTML)文本。

有没有办法让 webview 自行调整大小以匹配其内容大小?

顺便说一句,剩余空间因设备而异(模拟器、里程碑、英雄)

任何想法?谢谢


我确信这已经太晚了,但是添加对我有用的方法,以防其他人来这里寻找解决方案。

页面加载完成后,我将注入一个 javascript 方法来回调我的 JS 挂钩。在这个方法中,我传递了 的大小。

    private void setupWebView() {
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {
            webView.loadUrl("javascript:MyApp.resize(document.body.getBoundingClientRect().height)");
            super.onPageFinished(view, url);
        }
    });
    webView.addJavascriptInterface(this, "MyApp");
}
@JavascriptInterface
public void resize(final float height) {
    MyActivity.this.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            webView.setLayoutParams(new LinearLayout.LayoutParams(getResources().getDisplayMetrics().widthPixels, (int) (height * getResources().getDisplayMetrics().density)));
        }
    });
}

也可以看到同样的解决方案here. http://capdroid.wordpress.com/2014/08/07/resizing-webview-to-match-the-content-size/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在添加数据后调整android webview的大小 的相关文章

随机推荐

  • 如何强制 lambda 定义的新实例化

    Java 规范保证给定的 lambda 定义 例如 gt Hello World 被编译 转换为确切的一个实现类 每个定义 而不是每个 看起来 相同的出现 有什么方法可以强制 java compiler jvm 生成新的 lambda 定义
  • 使用 ReSharper 突出显示所选对象的所有出现位置

    我曾经使用 RockScroll 或 MetalScroll 但是当我开始使用 ReSharper 时 我的 RockScroll 开始出现一些错误 好吧 这是另一个讨论的范围https stackoverflow com question
  • 返回值或传递指针作为参数?

    我了解到 为了通过调用函数来访问或修改变量的值 我们需要将指针作为参数传递 如下所示 include
  • 即使未安装可选依赖项,Python setuptools 也会安装控制台脚本

    我目前正在开发一个包 并对 setuptools 感到困惑 该包包含许多依赖项 有了这些依赖项 可以通过 cli 执行多个脚本 E G gt main pkg gt main pkg which needs dep1 gt main pkg
  • 如何使用 C# 检查邮件已读或未读属性 (Lotus Notes)

    我想使用 C 检查邮件已读和未读属性 即想检查邮件是否被阅读 使用Domino dll 未读标记表不会通过 后端类 这是您最有可能在 Domino dll 中使用的类 公开 这可以通过较低级别的 C API 获得 需要处理更多的工作 但如果
  • 带有 PL/pgSQL 的 CRC32 函数

    如何计算 32 位循环冗余校验 CRC 32 作为 PostgreSQL 中的函数 方法与MySQL http dev mysql com doc refman 5 7 en mathematical functions html func
  • decltype(..., void()) 和 void_t 之间的区别

    上次我发现了许多关于 SFINAE 的答案 建议使用void t帮手 但我似乎不明白它有什么特别之处 decltype void 考虑这个例子 template
  • 类继承,强制新类实现某些功能

    好吧 我正在搞一些事情 特别是接口 假设我有一个类 猫 其基础为 动物 动物有一个方法 如下所示 public virtual void Walk Do walking stuff 所以 Cat 会用以下内容覆盖它 public overr
  • 如何为同源的 iframe 提供单独的 sessionStorage

    标准 W3C 标准对 localStorages 的描述如下 不同的作者共享一个主机名 例如用户在geocities com 所有共享一个本地存储对象 没有通过路径名限制访问的功能 因此 敦促共享主机上的作者避免使用这些功能 因为其他作者读
  • 在 Flask 中上传图片

    我必须在项目目录的静态文件夹中上传一些图像 但我不知道如何对我的代码说 在下面的 code py 中 我可以上传图像并将其存储在静态文件夹同一级别的项目目录中 但我希望该图像可以存储在静态文件夹内 app route uploader me
  • 根据 python 中的列表测试用户输入

    我需要测试用户输入是否与列表的元素相同 现在我正在这样做 cars red yellow blue guess str input if guess cars 1 or guess cars 2 print success 但是我正在处理更
  • 包私有类中的公共方法

    将方法标记为有什么区别吗public在包私有类中 class SomePackagePrivateClass void foo package private method public void bar public method 之间的
  • 如何将参数传递到 Flex/actionscript 中的事件侦听器函数中?

    因为当使用 sql lite 时 如果你尝试同时执行一个函数 它会抛出一个错误 我只是想创建一个函数来检查它是否正在执行 如果它在 10 毫秒内重试 这个函数就可以正常工作如果我不必向函数传递任何参数 但我很困惑如何将变量传递回它将执行的函
  • Pandas 到 Excel 条件格式整列

    我想将 Pandas 数据框写入 Excel 并格式化 为此我正在使用xlsxwriter 我的问题有两个 首先 如何将条件格式应用于整列 在里面examples http xlsxwriter readthedocs io example
  • 如何在Python内部列表中运行嵌套循环,以便外部循环始终从列表的下一个元素开始,依此类推

    我有一个类似的列表 16777230 0 16777226 1 16777252 2 16777246 0 我想在 python 中的操作的循环 嵌套循环 内创建一个循环 以便内部循环始终从外部循环的下一个元素开始 例如 外循环将在每次迭代
  • '(' 或 '[' 预期

    尝试编译我的程序时出现以下错误 预期为 或 public AccountArrayList line one below is the hi lighted code ArrayList accounts new ArrayList acc
  • Python 模块初始化

    在模块代码中初始化模块中的对象是不好的做法吗 in Module py class Foo object def init self self x Foo Foo Foo 与用户代码相比 您可以 gt gt gt from Module i
  • 同时支持 Android 和 Android TV 的 Android Studio 项目

    我正在尝试创建一个同时支持 Android 手机 平板电脑 和 AndroidTV 的 AndroidStudio 项目 目标是在手机 平板电脑和 AndroidTV 上拥有类似的功能 同时不需要另一个来操作 并重用代码 当我创建一个新项目
  • 在 iPhone 上的 iOS Safari 中访问相机

    I have 单页网络应用程序 SPA 那个verifies用户作为注册过程的一部分 验证的一部分是捕获selfie用户的 为此 我实现了以下代码的一个版本来获取camera输入到一个video网页上的元素 然后我可以从中sample图像转
  • 如何在添加数据后调整android webview的大小

    在布局 线性 垂直 层次结构中 我有多个视图 其中之一是 WebView 它们都有相同的参数 android layout width fill parent android layout height wrap content 对于所有视