webview怎么改变滑动效果(webview怎么设置旋转)

技术怎么优雅的对Webview进行截屏怎么优雅的对Webview进行截屏,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如何优雅的对Webview进行截屏?第

如何优雅地截图Webview,相信很多没有经验的人对此无能为力。为此,本文总结了出现问题的原因和解决方法,希望大家可以通过本文来解决这个问题。

00-101010

如何优雅的对Webview进行截屏?

通过调用webview.capturePicture(),获取一个图片对象,根据图像的宽度和高度创建一个Bitmap,然后创建一个画布,绑定位图,最后用图片进行绘制。

怎么优雅的对Webview进行截屏

这样就可以获得webview中所有加载的数据图像,也就是长屏幕截图的效果。这种方法在安卓4.4下没问题,但在5.0以上就不行了。CapturePicture()方法在4.4中被放弃。官方建议使用onDrow()方法获取webview的位图快照。实现如下:

怎么优雅的对Webview进行截屏

但是,此时在5.0中,会发现捕获到的快照只显示了webview中显示的部分,没有显示的部分是空白的。谷歌找到了原因。在5.0版本中,Android优化了webview,以减少内存使用并提高性能。因此,默认情况下,html中需要绘制的部分将被智能绘制,这实际上是当前屏幕上显示的html内容,因此会有空白图像没有显示。解决方法是调用enableSlowWholeDocumentDraw()方法。需要在创建webview之前调用此方法。在活动中,它在设置内容视图之前被调用。这种方法会有很大的性能开销。这里需要注意的是,webview的高度是通过缩放率来计算的,这样就可以计算出绘制整个加载的html内容所需的高度。如果没有这个缩放率,快照将只是html内容的顶部段落。另一个问题是5.0系统上获得的快照比较模糊,其他版本没有问题。我想知道为什么?

00-1010利用视图的缓存功能。为了提高滚动等方面的渲染速度,安卓可以为每个视图构建一个缓存,使用View.buildDrawingCache为自己的视图构建一个对应的缓存,这是一个位图对象。使用此功能,您可以屏幕捕获整个屏幕视图并生成位图,还可以获取指定视图的位图对象。因此,这种方法也可以用于webview。在使用getDrawingCache()方法获取位图对象之前,应该先打开webview的缓存功能。

怎么优雅的对Webview进行截屏

需要注意的是,在上面的情况下,只有一个缓存的位图对象,所以每次获取的位图都指向同一个地址空间中的缓存对象。如果在使用位图后立即回收该对象,当再次获得当前视图的缓存对象时,该对象将为空。因此,当活动被销毁时,有必要进行回收,因此如果打开缓存,将会有性能开销。

00-1010相对简单。获取当前窗口的去视图,然后绘制位图对象。

怎么优雅的对Webview进行截屏

看完以上内容,你是否掌握了如何优雅地截屏Webview?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/154126.html

(0)

相关推荐

  • Windows10安装MySQL(基于zip方式)

    技术Windows10安装MySQL(基于zip方式) Windows10安装MySQL(基于zip方式)环境
    操作系统:Windows10 家庭中文版(64bit)
    MySQL版本:mysql-5.7

    礼包 2021年12月21日
  • 视频网站首选美国服务器租用视频服务器美国

    技术视频网站首选美国服务器租用视频服务器美国随着观众对于视频质量和帧数的要求不断增高,很多传统的服务器已经很难满足用户的使用需求,因此现在大带宽的美国服务器成为了很多视频网站的首选,下面就来谈谈理由为什么视频流需要特殊类

    礼包 2021年12月17日
  • 马克笔画风景,请问一般初一要用马克笔吗

    技术马克笔画风景,请问一般初一要用马克笔吗自来水笔也叫钢笔马克笔画风景。不过自来水笔,还有一种是水粉自来水笔,适用于创作绘画的,不知道你说的是哪一种,我个人比较喜欢水粉自来水笔,因为他好控制。马克笔上色会容易脏,而且复涂

    生活 2021年10月23日
  • vmware怎么安装证书(vmware进bios如何添加插件)

    技术VMware证书该如何升级今天就跟大家聊聊有关VMware证书该如何升级,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。VCP-DCV每年都会有更新,且都会用年

    攻略 2021年12月22日
  • python计算变量间的相关系数(python计算多元变量的相关系数)

    技术Python协方差与相关系数怎么定义本篇内容介绍了“Python协方差与相关系数怎么定义”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年12月21日
  • 微信清空聊天记录,手机微信聊天信息如何清屏

    技术微信清空聊天记录,手机微信聊天信息如何清屏1、打开手机,在手机桌面找到微信选项软件,点击进入微信清空聊天记录。2、在微信界面中,点击我选项进入。3、在我界面中,点击设置选项进入。4、在设置界面中,点击聊天选项进入。5

    2021年10月23日