如何将Android 布局文件保存在png图像中,Android SDK 提供了API允许直接将可视组件绘制在Bitmap对象上。
一个简单的布局。
请看代码:
View view = getLayoutInflater().inflate(R.layout.main, null);
//打开图像缓存
view.setDrawingCacheEnabled(true);
//必须要调用measure和layout方法才能成功保存可视组件的截图到png截图文件
//测量view的大小
view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
//发送位置和尺寸到view机器所有的子view
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
try {
//获取可视组件的截图
Bitmap bitmap = view.getDrawingCache();
//将截图保存在SD卡根目录的test.png图像文件中
FileOutputStream fos = new FileOutputStream("/mnt/sdcard/test.png");
//将bitmap对象中的图像数据压缩成png格式的图像数据,并将这些数据保存在test.png文件中。
bitmap.compress(CompressFormat.PNG, 100, fos);
fos.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
别忘了添加相应权限,写入SDCard权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
将其导出到电脑中 打开即可: