Android 截图,截取指定view截图

二、具体实现方式

 

实用截图方法截取整个activity

public static Bitmap shotActivity(Activity ctx) {View view = ctx.getWindow().getDecorView();view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap bp = Bitmap.createBitmap(view.getDrawingCache(), 0, 0, view.getMeasuredWidth(),view.getMeasuredHeight());view.setDrawingCacheEnabled(false);view.destroyDrawingCache();return bp;
}

实用截图方法截取当前view

public static Bitmap getViewBp(View v) {if (null == v) {return null;}v.setDrawingCacheEnabled(true);v.buildDrawingCache();if (Build.VERSION.SDK_INT >= 11) {v.measure(View.MeasureSpec.makeMeasureSpec(v.getWidth(),View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(v.getHeight(), View.MeasureSpec.EXACTLY));v.layout((int) v.getX(), (int) v.getY(),(int) v.getX() + v.getMeasuredWidth(),(int) v.getY() + v.getMeasuredHeight());} else {v.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());}Bitmap b = Bitmap.createBitmap(v.getDrawingCache(), 0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());v.setDrawingCacheEnabled(false);v.destroyDrawingCache();return b;
}

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

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

相关文章

java使用AntPathMatcher进行uri匹配

需求:我在做rbac权限校验的时候,设置管理员的访问路径为/admin/**,希望所有的开头为/admin/的uri操作地址都能进行匹配判断。 import org.springframework.util.AntPathMatcher;String content "/admin/acuff"; String pattern "/admi…

百度经验 回享计划

https://jingyan.baidu.com/user/income 转载于:https://www.cnblogs.com/qdrs/p/7940353.html

Android 扫描二维码demo

demo下载链接:https://download.csdn.net/download/meixi_android/10779714 zxing依赖: compile cn.yipianfengye.android:zxing-library:2.2 扫描类: /*** 作者:created by meixi* 邮箱:13164716840163.com* 日期&…

neditor 自定义工具栏配置

neditor是ueditor的亚种。我已经实现了vueneditor的封装,下面记录一下常用工具栏的配置。 1、配置方法 实例化编辑器的时候传入 toolbars 参数 2、参数列表 名称描述anchor锚点undo撤销redo重做bold加粗indent首行缩进snapscreen截图italic斜体underline下划线st…

前端学习(2666):完成vue3.0的todolist编辑

1点击编辑 2编辑逻辑 3进入编辑状态

课后作业-团队编程项目总结

成员:王志昂(组长) 郑 月 李古宇 孙晨旭 鞠牧孜 程冠菲 项目名称:吃货之家 早在商朝末年,太公望(别名:姜太公,姜子牙)在营丘之战时所创制的太公望红焖鸡,在姜太公建立齐国后,红焖鸡(…

Android Notification 手机系统横幅弹出提示框调用,横幅通知,RemoteViews使用实例

直接上代码 :bundle是极光推送的bundle Override public void onReceive(Context context, Intent intent) {try {Bundle bundle intent.getExtras(); 。。。。。。 发送横幅通知方法: try {RemoteViews customView new RemoteViews(context.getPac…

前端学习(2667):退出编辑状态

1逻辑实现 2加上myinput 3判断myinput 调整元素 4

《构建之法》阅读笔记01

本周阅读了《构建之法》的第一章《概论》以及第四章《两人合作》。 《概论》旨在说明软件工程的概念。 作为一个程序员,几乎没有谁不知道“程序算法数据结构”这句名言的,而这本书中,则又提出了另一个概念“软件程序软件工程”,“…

Android 帧动画,加载动画,AnimationDrawable,仿京东加载动画

1、创建drawable文件ring_animation.xml <?xml version"1.0" encoding"utf-8"?> <animation-list xmlns:android"http://schemas.android.com/apk/res/android"><item android:drawable"mipmap/windmill_1"android:…

前端学习(2668):删除功能

1定义删除 2删除方法 3删除演示

mac 通过 homebrew 安装mongodb

通过homebrew安装mongodb非常省事&#xff0c;但是如果没有科学上网&#xff0c;可能比较慢&#xff0c;下面是官方安装教程链接&#xff1a; https://github.com/mongodb/homebrew-brew 主要步骤 1、brew tap mongodb/brew 2、brew install mongodb-community 3、启动 br…

SICK TiM561激光雷达的使用

TIM系列激光扫描传感器原理&#xff1a; 激光发射器发出激光脉冲&#xff0c;当激光碰到物体后&#xff0c;部分激光反射回激光接收器。通过计算发射/接收脉冲时间差&#xff0c;可以计算出距离值。激光扫描器连续不停的发射激光脉冲&#xff0c;由旋转的光学机构将激光脉冲按一…

简易listview与adapter实现列表,ArrayAdapter和BaseAdapter

item.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:…

Netcdf文件导出基本代码示例

需求&#xff1a;从一个nc文件中取出我想要的变量&#xff0c;导出到另外一个nc文件。 下面是基本代码&#xff1a; GetMapping("/export") public String varExport(ModelAttribute FileSaveVars params ) throws IOException, InvalidRangeException { // 1…

记一次MySQL手工注入

本来想找个装安全狗的站试下绕过&#xff0c;safe dog没找到&#xff0c;但随便一搜搜到一个小站有SQLi&#xff0c;正好借此机会复习下手工注入&#xff08;新版Firefox我吐槽一下&#xff0c;hackbar这么好用的工具&#xff0c;说阉割就阉割&#xff0c;哎&#xff09; 小站没…

Netcdf对数据进行裁剪

对三维数据进行裁剪 List<Range> tyxRanges new ArrayList<>(); tyxRanges.add(new Range(null,0,12)); tyxRanges.add(new Range(null,0,12)); tyxRanges.add(new Range(null,0,12)); Array varData varObject.read(tyxRanges); ncWrite.write(varVar, varData…