android获得布局的Bitmap对象

来源:互联网 发布:手机微博淘客软件 编辑:程序博客网 时间:2024/06/05 22:50

android  保存界面可视化组件,在调用View.getDrawingCache方法前需要调用measure和layout方法才能可以成功获取布局的Bitmap对象

代码如下:

//获得xml的布局截图
View view=getLayoutInflate r().inflate(R.layout.dialog, null);
//打开图像缓存
view.setDrawingCacheEnabled(true);
//需要调用measure和layout方法
view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),                        MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
//发送位置和尺寸到view及其所有的子view
view.layout(0, 0, view.getMeasuredWidth(),view.getMeasuredHeight());
//获得可视化组件的截图
Bitmap bitmap=view.getDrawingCache();
try {
//保存在sdcard目录下
FileOutputStream fos=new FileOutputStream("/sdcard/test.png");
bitmap.compress(CompressFormat.PNG, 100, fos);
//关闭文件输出流
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


0 0
原创粉丝点击