安卓设备或电视设备加载html文件后,显示不全

福尔摩斯对我笑 2019-05-14 101 次 0条

最近项目中使用安卓的webview控件将html文件加载到电视和win的设备上,经过测试,发现在一张1920*1080的html文件,在win上可以正常显示,在电视屏幕上显示不全

问题排查

  • 安卓是否设置为自动适应屏幕,是否支持缩放,然而设置后发现还是不正常,继续
//适应屏幕
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);


webView.setVisibility(View.VISIBLE);
webView.setBackgroundColor(0);
webView.getSettings().setAllowFileAccess(true);// 设置允许访问文件数据webView.getSettings().setSupportZoom(true);//支持放大网页功能webView.getSettings().setBuiltInZoomControls(true);//支持缩小网页功能


  • 查看html页面中是否设置meta标签,经查证设置了该标签,并支持缩放,然而还是不行

<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />

  • 后来去掉了meta标签后,竟然正常了,所有设备测试通过.

原因如下:meta viewport 标签之前,layout viewport 宽度是浏览器默认的(大部分浏览器、WebView都默认为这个值)。meta viewport 标签之后,因为指定了 initial-scale=1,所以浏览器将 layout viewport 宽度设为 visual viewport(可视区域) 的宽度,其它一系列的 width 也跟风进行变动。

https://landchanning.github.io/2018/01/25/webview_viewport/

具体关于viewport的说明请查看 https://www.cnblogs.com/2050/p/3877280.html

标签: 无

非特殊说明,本博所有文章均为博主原创。

头像也是LOGO
未来博客 博主大人
到了这个年纪,不应该再彷徨!

发表评论



 


暂无评论