如何将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"/>
将其导出到电脑中 打开即可: