flutter的SingleChildScrollView中嵌套了较大高度的SizedBox > WebView后闪退

如题,height在比较小的情况下,例如3000、4000时正常,大了就会报错并闪退。另外使用ListView、CustomListView试了也会闪退。这个问题只在嵌套SizedBox > Webview时会出现。

Webview使用的是官方的flutter_webview。

SingleChildScrollView(
  child: SizedBox(
    height: 30000,
    child: WebView(initialUrl: 'https://baidu.com'),
  ),
)

程序会直接闪退,报错:

Creating a virtual display of size: [1080, 82500] may result in problems(https://github.com/flutter/fl... is larger than the device screen size: [1080, 2030].

那个github链接打开后也没找到解决的办法,我看github上面有人在去年9月也提了这个问题。

我想要实现下拉刷新webview,将滚动放在flutter里。打算在webview加载完毕后postMessage传出内容高度,作为SizedBox的高度,现在的问题就卡在内容高度太大时闪退这里。请问有解决的办法吗,或者是我写法错了?

阅读 5.7k
3 个回答

为啥要 SizedBox ?
你能获取web的高度,用 Container 不行么?

新手上路,请多包涵

问一下 这个问题解决了吗?

新手上路,请多包涵

这个问题到现在还是存在,感觉是布局机制的问题,应该没啥办法好解决,我目前的解决办法是给webview一个大于屏幕的固定高度,然后监听滚动,处理滚动冲突,达到listview里嵌入webview的效果。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏