`
wangleyiang
  • 浏览: 219423 次
社区版块
存档分类
最新评论

Android 针对View的截图操作

阅读更多

    实现对View的截图操作,核心代码如下:

		Bitmap bitmap = null;
		FileOutputStream fileOutputStream = null;
		try {
			
			bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Config.ARGB_8888);
			Canvas canvas = new Canvas();
			canvas.setBitmap(bitmap);
			view.draw(canvas);
			
			fileOutputStream = new FileOutputStream(filePath);
			bitmap.compress(CompressFormat.PNG, 100, fileOutputStream);

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (bitmap != null && !bitmap.isRecycled()) {
				bitmap.recycle();
				bitmap = null;
			}
			if (fileOutputStream != null) {
				try {
					fileOutputStream.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

     例如:对整个窗口进行截图,可以使用下面代码获得窗口的View:

View windowView = (View) getWindow().getDecorView();

     多说一句:希望对您有所帮助!:)

 

分享到:
评论

相关推荐

    android-pdfview

    "android-pdfview"项目就是针对这一需求提供的一种解决方案。这个库使得在Android应用中打开和显示PDF文件变得非常简便。下面我们将深入探讨如何使用这个库以及它背后的关键知识点。 1. **PDF(Portable Document ...

    android自定义view之---组合view

    在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建独特且功能丰富的用户界面组件。本文将深入探讨如何在Android中实现自定义组合View,即结合多个基本View来构建复杂视图。 首先,理解...

    Android-老外的自定义View面试题实现篇

    "Android-老外的自定义View面试题实现篇"很可能是针对这一主题的一个项目或者教程,旨在帮助开发者深入理解并掌握自定义View的设计与实现。其中提到的"SimpleCoverflow-master"可能是一个具体的实例,即一个实现简单...

    android 子Viewy依次滑出界面转场

    属性动画是Android 3.0(API level 11)引入的,它允许对对象的任意属性进行动画处理,而视图动画则是在更早的版本中引入,主要针对视图的显示、隐藏、缩放等操作。 在这个场景中,我们可能需要用到视图动画中的...

    Android stackview demo

    在这个"Android StackView Demo"项目中,开发者针对网络上缺乏直接可用的示例进行了整合,并针对官方提供的例子进行了微小的改进,解决了可能存在的点击事件问题。这使得开发者能够更方便地理解和应用StackView。 #...

    Android-TrapezoidPartsView-梯形控件

    "the Trapezoid Parts View"是这个项目的核心类,它继承自Android的基础视图类`View`或`ViewGroup`,根据描述中的"draw Trapezoid image"推断,可能是直接继承自`View`,因为通常自定义绘图操作是在`View`中完成的。...

    Android中为View添加事件监听的使用说明(以Button为例).pdf

    在Android开发中,为View添加事件监听是实现用户交互的基础操作。本文以Button为例,详细介绍三种常见的添加事件监听的方法。 1. **第一种方法:直接设置OnClickListener** 这是最常见也是最直接的方式,适用于...

    《Android 群英传》读书笔记 自定义 View 之对现有控件进行拓展

    《Android群英传》这本书深入浅出地介绍了如何进行自定义View的操作,特别是针对现有控件进行拓展的部分,这对于我们提升应用的用户体验至关重要。 自定义View的基本步骤包括以下几个方面: 1. **创建新类**:首先...

    Android-一个支持多种状态的自定义View可以方便的切换到

    自定义View应包含一个TextView用于展示错误信息,以及一个Button用于触发重试操作。 3. **空数据视图**:当没有数据可显示时,提供一个提示信息,让用户知道数据不存在或当前情况无需显示数据。同样,可以使用...

    Android list view结课作业

    这个“Android list view 结课作业”很可能是针对Android应用开发课程的一个项目,目的是让学生掌握ListView的使用和优化。现在,我们将深入探讨ListView在Android中的应用及其相关知识点。 1. **ListView的基本...

    免root实现截屏Android例子源码

    这个"免root实现截屏Android例子源码"就是针对这种需求提供的解决方案。 首先,我们需要理解Android系统的权限机制。在Android 6.0(API级别23)及以上版本,应用需要在运行时请求权限,包括读写存储权限(READ_...

    traceview_tool_lib.zip

    `traceview.bat`是Windows操作系统下的批处理文件,它的作用是启动`Traceview`工具。当你双击这个文件,它会调用相应的Java命令来运行`Traceview`,通常这个命令会包含`java -jar traceview.jar`这样的参数。 `lib`...

    android截屏

    针对多窗口模式和折叠屏设备,Android提供了`MultiWindowModeChanged`回调,应用需要在其中适配截屏逻辑,确保在不同屏幕状态下的截屏效果正确。 6. **通知用户** 截屏成功后,可以通过`Toast`或者`Snackbar`提示...

    Android截图,圆形,Canvas-IT计算机-毕业设计.zip

    在Android中,截图可以通过多种方式实现,常见的有`View`的`drawToBitmap()`方法,`ViewGroup`的`buildDrawingCache()`和`getDrawingCache()`组合,以及`UiAutomation`类提供的截屏功能。这个Demo可能使用了`View`...

    IJKPlayer Android 可录屏 可播放RTSP格式

    ijkplayer-android可录屏可播放RTSP格式是一个针对Android平台的开源媒体播放器项目,它基于FFmpeg库,由IJKProject团队开发。这个播放器不仅支持常见的多媒体格式,还特别强调了对RTSP(Real Time Streaming ...

    Android粒子效果之雨自定义View.rar

    本资源“Android粒子效果之雨自定义View.rar”就是针对这一主题的一个实例,旨在教你如何创建一个动态的、模拟下雨效果的自定义View。 粒子效果在Android中通常涉及大量的图形绘制和动画处理,这需要用到Canvas、...

    Android 自定义view和属性动画实现充电进度条效果

    在Android开发中,自定义View和属性动画是创建复杂、个性化UI效果的重要工具。本案例中,我们将讨论如何使用这两种技术实现一个充电进度条的动画效果。首先,我们需要理解自定义View的基本流程。 自定义View通常...

    android拍照截图相册上传

    9. **异步处理**:由于多媒体操作和网络通信通常涉及较耗时的任务,应使用`AsyncTask`、`Handler`、`Runnable`或`Coroutines`(针对新版本的Android)等机制进行异步处理,避免阻塞主线程。 10. **测试与调试**:...

    android 屏幕截图功能

    3. **兼容性问题**:考虑不同Android版本间的兼容性问题,尤其是针对低版本Android系统进行适配。 4. **异常处理**:在实际开发过程中,应充分考虑各种异常情况,如文件不存在、磁盘空间不足等情况,并做出相应处理...

    android属性动画和view动画区别的测试代码

    Android提供了两种主要的动画机制:View Animation(视图动画)和Property Animation(属性动画)。这两种动画在实现方式和效果上有着显著的区别,下面我们将深入探讨它们的差异,并通过一个名为`TestAnimation`的...

Global site tag (gtag.js) - Google Analytics