当前位置: 首页 > news >正文

Android ScrollView嵌套X5WebView大片空白问题

scrollview嵌套后webview的高度不可控。留有大片空白。

注:官方不建议scrollview嵌套webview 最好让webview自身滚动

解决方案:

act_news_detail_wv.setWebViewClient(new WebViewClient() {@Overridepublic void onPageFinished(WebView webView, String s) {super.onPageFinished(webView, s);new Handler.postDelayed(new Runnable() {@Overridepublic void run() {                         webView.loadUrl("javascript:AndroidWebView.resize(document.body.getBoundingClientRect().height)");}}, 800);}}
}

1. 在页面加载完成之后让页面重新刷新高度

有些视频封面图较短,视频较长,部分手机视频加载之后刷新页面,高度不同导致视频截断,不能根本解决问题,弃用该方法

2. 富文本加载可直接改变富文本将想加入的内容加入 减少层级 从而不使用scrollview

能解决问题,但实际APP开发中总是碰到需要嵌套的需求

3. 富文本最好带有标签 没有可以代码加入

private String getHtmlData(String bodyHTML) { String head = "<head>" + "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\"> " + "<style>img{max-width: 100%; width:auto; height:auto;}" + "video{max-width: 100%; width:auto; height:auto;}</style>" + "</head>";         return "<html>" + head + "<body>" + bodyHTML + "</body></html>"; 
}

能解决问题,html代码中img和video标签不要另外设置width和height属性,不然还是会出现空白

4. 网页加载可选择原生的webview。

http://www.lryc.cn/news/521791.html

相关文章:

  • Java Web开发进阶——WebSocket与实时通信
  • zerotier搭建虚拟局域网,自建planet
  • SQL面试题1:连续登陆问题
  • 2Spark Core
  • linux之进程信号(初识信号,信号的产生)
  • 基于nginx实现正向代理(linux版本)
  • 【蓝牙】win11 笔记本电脑连接 hc-06
  • 小程序组件 —— 31 事件系统 - 事件绑定和事件对象
  • 力扣cf补题-1【算法学习day.94】
  • 系统学习算法:专题四 前缀和
  • java 迪米特法则,原理、思想、工作流程、实现细节、稳定性、优缺点、应用场景等
  • vue项目引入阿里云svg资源图标
  • 存储过程和触发器
  • 《拉依达的嵌入式\驱动面试宝典》—计算机网络篇(二)
  • 【深度学习实战】kaggle 自动驾驶的假场景分类
  • Spring Boot 和微服务:快速入门指南
  • qt QPainter setViewport setWindow viewport window
  • 网络安全面试题汇总(个人经验)
  • 【网络云SRE运维开发】2025第3周-每日【2025/01/14】小测-【第13章ospf路由协议】理论和实操
  • FreeType 介绍及 C# 示例
  • 金融项目实战 04|JMeter实现自动化脚本接口测试及持续集成
  • Linux网络知识——路由表
  • 浅谈云计算14 | 云存储技术
  • AI 编程工具—Cursor进阶使用 阅读开源项目
  • 使用 WPF 和 C# 将纹理应用于三角形
  • Elasticsearch搜索引擎(二)
  • unity学习17:unity里的旋转学习,欧拉角,四元数等
  • 走出实验室的人形机器人,将复刻ChatGPT之路?
  • 如何使用wireshark 解密TLS-SSL报文
  • 电脑有两张网卡,如何实现同时访问外网和内网?