后台截图步骤:
1.通过Activity的findViewById方法,传入系统固定资源Android.R.id.content获取Windows最顶层的ViewGroup。
2.获该ViewGroup的第一个子previousView暂存起来,以便截图后恢复现场。
3.调用ViewGroup的removeAllViews移除所有view后,再调用addView把要截图的View加载进来。
4.通过activity.getWindow.getDectorView方法获取dectorView。
5.使能dectorView缓存绘制开关打开。通过调用setDrawingCacheEnable方法来打开。
6.依次调用dectorView的mesure和layout以及buildDrawingCache方法来创建缓存。
7.通过getDrawingCache获取缓存的Bitmap,截图成功。
8.恢复现场:调用dectorView的setDrawingCacheEnable关闭缓存开关,调用dectorView的destroyDrawingCache清除缓存信息。将previousView重新添加到ViewGroup中恢复现场。
原文地址:/gaojiaxingde/article/details/47271523