android 截图 listview,Android屏幕及view的截图实例详解

Android屏幕及view的截图实例详解

屏幕可见区域的截图

整个屏幕截图的话可以用View view = getWindow().getDecorView();

public static Bitmap getNormalViewScreenshot(View view) {

view.setDrawingCacheEnabled(true);

view.buildDrawingCache();

return view.getDrawingCache();

}

scrollview的整体截屏

public static Bitmap getWholeScrollViewToBitmap(View view) {

view.measure(MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED),MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED));

view.layout(0,view.getMeasuredWidth(),view.getMeasuredHeight());

view.buildDrawingCache();

Bitmap bitmap = view.getDrawingCache();

return bitmap;

}

webview的整体截图

public static Bitmap getWholeWebViewToBitmap(WebView webView) {

Picture snapShot = webView.capturePicture();

Bitmap bmp = Bitmap.createBitmap(snapShot.getWidth(),snapShot.getHeight(),Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(bmp);

snapShot.draw(canvas);

return bmp;

}

listview的整体截图

public static Bitmap getWholeListViewItemsToBitmap(ListView listview) {

ListAdapter adapter = listview.getAdapter();

int itemscount = adapter.getCount();

int allitemsheight = 0;

List bmps = new ArrayList();

for (int i = 0; i < itemscount; i++) {

View childView = adapter.getView(i,null,listview);

childView.measure(MeasureSpec.makeMeasureSpec(listview.getWidth(),MeasureSpec.EXACTLY),MeasureSpec.UNSPECIFIED));

childView.layout(0,childView.getMeasuredWidth(),childView.getMeasuredHeight());

childView.setDrawingCacheEnabled(true);

childView.buildDrawingCache();

bmps.add(childView.getDrawingCache());

allitemsheight += childView.getMeasuredHeight();

}

Bitmap bigbitmap = Bitmap.createBitmap(listview.getMeasuredWidth(),allitemsheight,Bitmap.Config.ARGB_8888);

Canvas bigcanvas = new Canvas(bigbitmap);

Paint paint = new Paint();

int iHeight = 0;

for (int i = 0; i < bmps.size(); i++) {

Bitmap bmp = bmps.get(i);

bigcanvas.drawBitmap(bmp,iHeight,paint);

iHeight += bmp.getHeight();

bmp.recycle();

bmp = null;

}

return bigbitmap;

}

需要多次截图的话,需要用到 view.destroyDrawingCache();

Bitmap normalViewScreenshot = ScreenShotUtils.getNormalViewScreenshot(mFrameContent);

if (normalViewScreenshot != null) {

Bitmap b = Bitmap.createBitmap(normalViewScreenshot);

mImageResult.setImageBitmap(b);

mFrameContent.destroyDrawingCache();

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python指定位置写入文件_Python从文件中读取指定的行以及在文件指定位置写入

Python从文件中读取指定的行以及在文件指定位置写入 Python从文件中读取指定的行 如果想根据给出的行号&#xff0c; 从文本文件中读取一行数据&#xff0c; Python标准库linecache模块非常适合这个任务: 测试文件内容 &#xff1a; This is line 1. This is line 2. This is l…

华硕 x86 android,【华硕X79评测】学不会不收费 几步教你安装Android x86-中关村在线...

安装Android x86其实并不困难【中关村在线】华硕X79评测&#xff1a; 话说最近操作系统这个话题非常火爆。也许是借助于Windows 8消费者预览版的光芒&#xff0c;凡是与系统搭边的东西大家好像都喜欢与Windows 8进行比较。介于现在可以使用的系统众多&#xff0c;其中Android x…

r矢量球坐标系旋度_矢量与场论 | 场论

场的概念 | 方向导数与梯度 | 通量与散度 | 环量与旋度 | 典型矢量场 | 哈密顿算子场的概念1.场&#xff1a;如果在全部空间或部分空间里的每一点&#xff0c;都对应着某个物理量的一个确定的值&#xff0c;即在这个空间里确定了该物理量的一个场。&#xff08;数量场/矢量场 、…

springboot用户管理系统_Springboot优秀开源项目

前言 作为一个开发人员来说,快速的熟悉一项技术就是去使用它.伟大的作家鲁迅先生曾说过:看别人视频不如自己敲代码!作为一个菜鸡开发,我平时也致力于收集各种大神的开源项目!接下来就给大家带来我绞尽乳汁为大家搜罗的几个开源的好项目吧!1. 基于springboot Vue 的人事管理系统…

转换背景色 html,html – CSS转换:淡化背景颜色,重置后

我有一个div列表&#xff0c;并允许我的用户通过发布新的内容动态添加一个新的。如果用户发布新内容&#xff0c;我想通过将新div的背景颜色淡化为另一种颜色&#xff0c;并将其淡出&#xff0c;从而在屏幕上突出显示。我很亲近我正在使用这个CSS来触发转换&#xff1a;.backgr…

第一次失效_又到审核季,内审员们,咱如何开好第一次会议?

导读作为一名企业的内审员&#xff0c;展开工作将从第一次会议开始&#xff0c;那么如何组织好第一次会议将是十分关键的&#xff0c;今天小编特地跟大家一起分享下首次会议召开的案例&#xff0c;手把手教你怎么成功召开首次会议&#xff1a;首次会议由审核组长主持。01 签到与…

python判断字符_Python判断字符串是否为字母或者数字(浮点数)

str为字符串s为字符串 str.isalnum() 所有字符都是数字或者字母 str.isalpha() 所有字符都是字母 str.isdigit() 所有字符都是数字 str.isspace() 所有字符都是空白字符、t、n、r 检查字符串是数字/浮点数方法 float部分 >> float(Nan) nan >> float(Nan) nan >…

疯狂动物消消乐html5游戏在线玩,疯狂动物消消乐免费

疯狂动物消消乐免费版这是一个移动端休闲益智手游&#xff0c;疯狂动物消消乐免费版主打消除了玩法&#xff0c;在疯狂动物消消乐免费版游戏当中玩家要经过种种形式移动游戏当中元素来到达相同种类消除了成功的目的。游戏介绍疯狂动物消消乐一款休闲类的消除游戏&#xff0c;全…

windows便签快捷键_win10电脑有哪些常用的快捷键?

十年八年都不怎么用的快捷键这里就不讲啦&#xff0c;全是常用的&#xff0c;而且用熟了之后你的电脑水平就会变高&#xff0c;至少别人看来是这样的啦♪(^∇^*)。windows键P键&#xff1a;打开小娜&#xff0c;可搜问题&#xff0c;可聊天&#xff0c;可语音调戏。小娜windows…

四川计算机专业大专哪所好,四川省计算机多媒体技术好的大专学校哪好

四川省计算机多媒体技术好的大专学校哪好?随着计算机多媒体技术越来越深入的与人们的生活联系在一起&#xff0c;开设计算机多媒体技术专业的学校也是越来越多&#xff0c;报考计算机多媒体技术专业的同学也是一年比一年多&#xff0c;可是计算机多媒体技术好的大专学校有哪些…

python pil_python PIL 图像处理

编辑推荐: 本文来自于jianshu&#xff0c;文章介绍了pil能处理的图片类型,matplotlib标准模式以及图像通道\几何变换\裁剪等相关内容 。 Image读出来的是PIL的类型&#xff0c;而skimage.io读出来的数据是numpy格式的 #Image和skimage读图片import Image as img import os from…

w7电脑蓝屏怎么解决_怎么解决0x0000007b电脑蓝屏 解决0x0000007b电脑蓝屏方法【详细步骤】...

电脑蓝屏死机报错 0x0000007b 是什么情况呢?0x0000007b电脑蓝屏通常情况是硬盘的存储控制器驱动加载错误导致故障。对于这种情况就要有相应解决措施&#xff0c;下面来看看具体解决方法。导致驱动加载错误的情况可能有以下三种情况&#xff1a;1.无法自动识别硬盘控制器&#…

判断二叉树是否是完全二叉树c语言_完全二叉树的节点数,你真的会算吗?

读完本文&#xff0c;你可以去力扣拿下如下题目&#xff1a;222.完全二叉树的节点个数-----------如果让你数一下一棵普通二叉树有多少个节点&#xff0c;这很简单&#xff0c;只要在二叉树的遍历框架上加一点代码就行了。但是&#xff0c;如果给你一棵完全二叉树&#xff0c;让…

怎样用计算机记账,仓管员怎么用电脑记账?简单实用的电脑操作方式一览!

仓库管理中&#xff0c;有很多的流水账需要进行记录&#xff0c;物品的收发&#xff0c;物品的采购等等&#xff0c;传统的仓库管理&#xff0c;多用人工方式等记录&#xff0c;效率相对较低&#xff0c;出现差错率相对较高&#xff0c;如今&#xff0c;多采用软件及电脑等方式…

免密登录关闭_微信最新提醒:这个设置再不关闭,你的微信账号就能被别人“免密登录”!...

哈喽大家好&#xff0c;我是你们的老朋友姗姗&#xff0c;每天与大家分享不一样的生活知识&#xff0c;阅读本文前&#xff0c;请您先点击上面的“姗姗时尚思”&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到文章了&#xff0c;希望可以多鼓励一下小编&#…

查看计算机用户修改密码时间,使用ldap语句查询某时间后没改密码的用户

经常使用Active Directory用户和计算机控制台的我们会发现&#xff0c;在左侧控制台树的最上面有一个“保存的查询”&#xff0c;通过新建查询可以看到可以通过图形界面创建一些简单的查询操作。那么我们如果有一些特殊的查询要做要怎么来实现呢。这里我们把《查询某个时间点后…

python连接oracle数据库_深入理解Python3.6连接Oracle数据库

Python3.6连接Oracle数据库的方法详解 本文实例讲述了Python3.6连接Oracle数据库的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; 下载cx_Oracle模块模块&#xff1a; https://pypi.python.org/pypi/cx_Oracle/5.2.1#downloads 这里下载的是源码进行安装 [rooto…

rfid阅读器的主要任务_RFID阅读器(读写器)的应用领域及其如何使用?

RFID阅读器(读写器)的应用领域及其如何使用&#xff1f;来源&#xff1a;本站 | 作者:admin | 发表于&#xff1a;2018-05-25 | 浏览次数&#xff1a;2181首先来了解一下RFID系统的构成&#xff1a;①电子标签&#xff0c;由芯片和标签天线组成&#xff0c;通过电感偶合或电磁…

计算机网络走向系统化 科学化,第六章计算机网络与INTERNET 应用习题

第六章计算机网络与Internet 应用一&#xff0e;是非题1.按覆盖地理范围的大小&#xff0c;可以吧计算机网络分为广域网&#xff0c;城域网。A 、对B、错2组建一局域网时&#xff0c;网卡不是必不可少的网络通信硬件。A、对B、错3.通信和资源共享是计算机网络最基本和最重要的特…

847方波放大电路_分析运放7大经典电路,有图有真相,详解每个电路原理!

运放的基本分析方法&#xff1a;虚断&#xff0c;虚短。对于不熟悉的运放应用电路&#xff0c;就使用该基本分析方法。运放是用途广泛的器件&#xff0c;接入适当的反馈网络&#xff0c;可用作精密的交流和直流放大器、有源滤波器、振荡器及电压比较器。1&#xff0c;运放在有源…