要实现截图功能,需要实现以下三个步骤:
1.获取需要截获的屏幕的视图(view对象)
2.根据view对象产生bitmap位图对象
3.生成文件输出流
4.用bitmap对象格式化文件
核心代码:
public void generateScreenShot(View view){
String fileName=Environment.getExternalStorageDirectory()+"/simpleplan.png";
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bitmap=view.getDrawingCache();
if (bitmap!=null) {
try {
FileOutputStream fileOutputStream=new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
注意:参数view是你需要截获的屏幕视图。那么我们一般如何获得这个视图呢?也就是说,如何调用这个方法呢?
如下:
mBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
generateScreenShot(v.getRootView());
}
});