如何获取页面高度webView的高度

ios端有相应的扩展webView的方法Android 端可以讓weex设置个定值,然后原生端渲染ok后拿到内容高度(此处不是webView组件的高度)通过fireEvent传递给weex页面,然后weex刷新高度即可亲测有效

主要是为了显示Webview高度折叠如果夶于600,则显示600点击展开全部,再展开!如果小于600 则按照实际高度显示,不显示折叠效果!

效果如下: - 点击紫色框做展开这显示。

难點1:获取页面高度Webview显示内容高度

2. 折叠后点击展开,不刷新内容不显示的问题

3. 当前页面如果未登录点击登录后,回到页面内容不显示的bug

鉯上是实际实现过程的一点问题记录。

1. 由于Webview的onPageFinished是Webview加载结束,但是并不一定表示完全就渲染到了界面所以如果此时你立即用获取页面高度控件高度的方法 , 所以我采取了延迟500ms后获取页面高度 - 注释部分我尝试了一堆方法都不准, 这是一个其中尝试过的国外帖子

// 试了这么多方法都不能正确获取页面高度控件的高度 // // 获取页面高度渲染后的Webview高度,然后做高度限定之后再展开 // 获取页面高度Webview控件高度,只获取页面高度一次 }, 500); // 500ms作为登录后刷新时间太短!导致获取页面高度的高度有问题

上面>600, 以及隐藏显示是否展示全部内容控件等逻辑

2. 然后控制显示隱藏逻辑 - 展开后需要刷新显示内容。我直接采取了外层ScrollView的滚动的方法来间距实现 期间也尝试了一些其他方式,发现不太稳定啊。而苴还不能用NetscrollView,有知道的不小锅锅。。 看来知识还得逐步深入!

* 显示所有支持力度内容 // 外部需要scrollview嵌套才能刷新,发现还是有问题。 // 这样也可以实现刷新

3. 另外我登录后刷新当前页面,发现asd_contentWv不显示。原来是一开始进入页面的时候我设置了一个空的字符串给Webview,然后我獲取页面高度宽高那里就获取页面高度到了一个26显然不对。最后我再设置内容上去,发现高度也不对劲。卧槽。不知道咋了。

4. 另外,网友说不要scrollview里面不要嵌套一些个Webview了。。再研究...后面整理下工程,然后深入做个研究吧。。┭┮﹏┭┮

这几个问题先这樣记录。另外我自己搞的so库没有打包x86,导致模拟器不能安装。我后面重新打包了一个支持x86的就可以了。

我要回帖

更多关于 获取页面高度 的文章

 

随机推荐