android截图代码
16lz
2022-05-13
在pc上的截图软件很多,但是android上的比较少,所以就自己写了一个,下面时截图软件的核心代码private Bitmap getViewBitmap(View v) { // 将一个View转化成一张图片
Java代码- v.clearFocus();//清除视图焦点
- v.setPressed(false);//将视图设为不可点击
- booleanwillNotCache=v.willNotCacheDrawing();//返回视图是否可以保存他的画图缓存
- v.setWillNotCacheDrawing(false);
- //Resetthedrawingcachebackgroundcolortofullytransparent
- //forthedurationofthisoperation//将视图在此操作时置为透明
- intcolor=v.getDrawingCacheBackgroundColor();//获得绘制缓存位图的背景颜色
- v.setDrawingCacheBackgroundColor(0);//设置绘图背景颜色
- if(color!=0){//如果获得的背景不是黑色的则释放以前的绘图缓存
- v.destroyDrawingCache();//释放绘图资源所使用的缓存
- }
- v.buildDrawingCache();//重新创建绘图缓存,此时的背景色是黑色
- BitmapcacheBitmap=v.getDrawingCache();//将绘图缓存得到的,注意这里得到的只是一个图像的引用
- if(cacheBitmap==null){
- returnnull;
- }
- Bitmapbitmap=Bitmap.createBitmap(cacheBitmap);//将位图实例化
- //Restoretheview//恢复视图
- v.destroyDrawingCache();//释放位图内存
- v.setWillNotCacheDrawing(willNotCache);//返回以前缓存设置
- v.setDrawingCacheBackgroundColor(color);//返回以前的缓存颜色设置
- returnbitmap;
- }
更多相关文章
- android webview 使用以及一些异常处理及上传文件问题
- 转 Android监听键盘弹出收起
- Android多种数据库存储方式对比
- android中获得屏幕、视图、任务栏、状态栏的高宽以及屏幕的设置
- Android启动画面实现
- 【Android】How Android(安卓)Draws Views
- Android——ListView控件(Android(安卓)Studio)
- Android(安卓)的上下文菜单: Context Menu
- Android--高级组件