android视图截屏功能

来源:互联网 发布:linux 安装bcompare 编辑:程序博客网 时间:2024/05/18 16:13

publicBitmap getViewBitmap(View v) {
                v.clearFocus();// 清除视图焦点
                v.setPressed(false);// 将视图设为不可点击
 
                booleanwillNotCache = v.willNotCacheDrawing(); // 返回视图是否可以保存他的画图缓存
                v.setWillNotCacheDrawing(false);
 
             //将视图在此操作时置为透明
                intcolor = v.getDrawingCacheBackgroundColor(); // 获得绘制缓存位图的背景颜色
                v.setDrawingCacheBackgroundColor(0);// 设置绘图背景颜色
                if(color != 0) { // 如果获得的背景不是黑色的则释放以前的绘图缓存
                        v.destroyDrawingCache();// 释放绘图资源所使用的缓存
                }
                v.buildDrawingCache();// 重新创建绘图缓存,此时的背景色是黑色
                Bitmap cacheBitmap = v.getDrawingCache(); // 将绘图缓存得到的,注意这里得到的只是一个图像的引用
                if(cacheBitmap == null) {
                        returnnull;
                }
                Bitmap bitmap = Bitmap.createBitmap(cacheBitmap); // 将位图实例化
                //恢复视图
                v.destroyDrawingCache();// 释放位图内存
                v.setWillNotCacheDrawing(willNotCache);// 返回以前缓存设置
                v.setDrawingCacheBackgroundColor(color);// 返回以前的缓存颜色设置
                 
                returnbitmap;
        }

原创粉丝点击