gpt4 book ai didi

android 调整 webView 大小

转载 作者:行者123 更新时间:2023-11-30 03:04:26 25 4
gpt4 key购买 nike

我想在后台创建一个 WebView 并调整它的大小,我不会显示它或将它附加到布局中,我只想创建它、调整它的大小并在后台加载东西。
我的问题是,即使在使用 setLayoutParams 调整大小后,我的 HeightWidth 也得到了 0
这是我所做的:

public void createAndResizeWebView(Context context) {

WebView webView = new WebView(context);

System.out.println("webView: " + webView.getWidth());
System.out.println("webView: " + webView.getHeight());

webView.setLayoutParams(new LinearLayout.LayoutParams(300, 400));

System.out.println("webView: " + webView.getWidth());
System.out.println("webView: " + webView.getHeight());
}

我得到:

webView: 0

webView: 0

webView: 0

webView: 0

任何帮助将不胜感激!

最佳答案

android 中的布局是异步的。尝试覆盖 WebView onSizeChanged当 webview 的大小发生变化时获得通知的方法。或者你也可以使用 ViewTreeObserver但效率较低。

WebView 从其父 View 获取尺寸。由于您没有将 webview 附加到 View ,因此它根本不会调整大小,您需要通过调用

webview.layout(0, 0, width, height);

请注意,以上只是在 View 层次结构中时在 webview 上调用的众多方法之一。实现可能会更改以依赖于将来更多/不同的调用。一种更具前瞻性的方法是将 webview 插入您的 View 层次结构并将其可见性设置为 INVISIBLE。

关于android 调整 webView 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com