在pc上的截图软件很多,但是android上的比较少,所以就自己写了一个,下面时截图软件的核心代码private Bitmap getViewBitmap(View v) { // 将一个View转化成一张图片
v.clearFocus(); // 清除视图焦点
v.setPressed(false);// 将视图设为不可点击
boolean willNotCache = v.willNotCacheDrawing(); // 返回视图是否可以保存他的画图缓存
v.setWillNotCacheDrawing(false);
// Reset the drawing cache background color to fully transparent
// for the duration of this operation //将视图在此操作时置为透明
int color = v.getDrawingCacheBackgroundColor(); // 获得绘制缓存位图的背景颜色
v.setDrawingCacheBackgroundColor(0); // 设置绘图背景颜色
if (color != 0) { // 如果获得的背景不是黑色的则释放以前的绘图缓存
v.destroyDrawingCache(); // 释放绘图资源所使用的缓存
}
v.buildDrawingCache(); // 重新创建绘图缓存,此时的背景色是黑色
Bitmap cacheBitmap = v.getDrawingCache(); // 将绘图缓存得到的,注意这里得到的只是一个图像的引用
if (cacheBitmap == null) {
return null;
}
Bitmap bitmap = Bitmap.createBitmap(cacheBitmap); // 将位图实例化
// Restore the view //恢复视图
v.destroyDrawingCache();// 释放位图内存
v.setWillNotCacheDrawing(willNotCache);// 返回以前缓存设置
v.setDrawingCacheBackgroundColor(color);// 返回以前的缓存颜色设置
return bitmap;
}
分享到:
相关推荐
ViewCapture - 实现单独对某个Android视图进行截屏。支持ScrollView, HorizontalScrollView, ListView, RecyclerView, WebView。
android视图组和布局
一个辅助库用于为你的android视图设置自定义字体
android 视图切换效果 android 视图切换效果
android 视图 切换 workspace 模仿Launcher
android列表视图实例
拥有漂亮的源码语法高亮Android视图和行计数器,可以使用此视图设计自己的IDE
android开发中关于视图类的参考资料
创建全新的视图将满足我们独特的UI需求。 本文介绍在指南针开发中会用到的罗盘的界面UI,通过继承View类实现的自定义视图,以此来深刻了解自定义视图。
能让用户创建绘图的Android视图,可自定义颜色,宽度或工具,撤销或重做操作。
android 时间日期视图 android 时间日期视图 android 时间日期视图
一个数据加载状态的Android自定义视图
为Android视图添加徽章:Android ViewBadgerjgilfelt-android-viewbadger-f1cf577.
Android 模仿ButterKnife实现视图注入的两个功能 源码
Android视图
Android视图关系,ViewRootImpl、WindowManager、Window关系
android应用程序,允许智能手机和平板电脑很容易兼容的架子视图。
TreeView:具有高性能和丰富功能的Android树形视图
CounterView有一个可以递增和递减值的Android视图
包含了在android端对一般视图操作的用法,内部包含了listView、spinner及imageswitch等经典实例。