博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决 android 高低版本 webView 里内容 自适应屏幕的终极方法
阅读量:6839 次
发布时间:2019-06-26

本文共 1521 字,大约阅读时间需要 5 分钟。

转载请声明出处(http://www.cnblogs.com/linguanh/)

 

 先说下我的情况,大家可以对号入座(嫌无聊请跳过)

      我的项目要求是这样的,先从数据库里面拿出来html标签,因为加载到移动端的网页内容是用户在网页编辑好了之后提交到服务器的,即网页内容是 b/s 交互,我在网页前段编辑器里面设置了只保存编辑的 html 标签,即是没有头部和后面的,形式是:

<html>

   <body>

       只保存这里的标签到数据库

   </body>

</html>

     移动端有两个activity,这时候是 c/s 交互了,页面一负责加载前置数据,例如一张封面图之类的,然后用户点击进入webView主体,我上面说了,我的目标html标签是保存到db的,所以我在第一个页面的时候就把db里面的html下载保存到内存了,String即可,用户点击时,跳转传递。看到这里,相信你知道我是加载到webView的了,没错,就是组合,再load。注意了,我这里并不是直接加在一个链接,不是 webView.loadUrl() 是组合好 html 后再使用 loadDataWithBaseUrl。

 

 说下标签不同的影响(很重要,因为某些方法对某些表情有用)

      通常,我们加载后超出屏幕宽度的一般是 img 或者 video 标签或者文字,这类标签可以使用css 或者 网上盛行的三个设置做到适配,这三个盛行的设置是:

setting.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); setting.setUseWideViewPort(true); setting.setLoadWithOverviewMode(true); 我先说明,这三个设置不一定有效,android 4.4 后就很可能没效,为什么是很可能?你都不敢确定?上面说过,和标签及其设置有关系。    如果出现了 table 这种标签,即 table 适配屏幕,很可能css都失效,怎么办?,我就是遇到了它,所以有了这篇文章。 三,三种解决方法(重点)。    针对我的自己情况,自己组合html显示的。    法一: 使用 Css 适配,它比上面的三种 setting 有效,对img 和video 绝壁有效,我给出个例子:
1 "" +
 

        法二:使用三种setting设置:          

setting.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);         setting.setUseWideViewPort(true);         setting.setLoadWithOverviewMode(true); 这种方法的失败可能性很大,但是,也可以一试 法三:使用javaScript脚本,暂时给它定义成功率是 100%(因为我用它没失效过)         我这里给一个例子,例如我上面说到的 table。
""+

                看到这里,你很可能会说,这和 css 有什么区别?区别可大了,我使用 css 改变table的失败了,使用它成功了。

                 说明一下: 上面使用 js 脚步适配,请写到 内容加载之后,即是 <body> 内容 <写后面></body>,为什么呢?有基础的人都知道,html 是解析性语言,从上到下,你要先加载好 html 再使用 js 改变,除非js 包在函数里面。

 

四,打完收工

      有问题请留言。

转载于:https://www.cnblogs.com/linguanh/p/4927353.html

你可能感兴趣的文章
mysql连接错误
查看>>
vagrant学习记录
查看>>
杭电2097--Sky数
查看>>
杭电1754--I Hate It(线段树)
查看>>
AS莫名报错 Error:Could not download junit.jar (junit:junit:4.12): No cached version available
查看>>
Kendo UI 简单使用
查看>>
FCKeditor的使用说明
查看>>
[转载]树莓派新版系统上使用mjpg-streamer获取USB摄像头和树莓派专用摄像头RaspiCamera图像...
查看>>
处理js两个数相乘的坑
查看>>
1.spring:helloword/注入/CDATA使用/其他Bean/null&级联/p命名空间
查看>>
django-pure-pagination 组件使用
查看>>
drf视图认证组件
查看>>
HDU 5059 Help him(BestCoder Round #12)
查看>>
PE Header中的FIleHeader(文件头)
查看>>
I/O异步之I/O完成端口
查看>>
[Asp.net]使用flexpaper+swftools大文件分页转换实现在线预览
查看>>
遇见requestAnimationFrame
查看>>
DB2 runstats、reorgchk、reorg 命令【转载】
查看>>
到底该如何理解DevOps这个词
查看>>
PHP 时区报错
查看>>