700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 保存Drawable资源为Bitmap文件

保存Drawable资源为Bitmap文件

时间:2019-09-07 03:02:09

相关推荐

保存Drawable资源为Bitmap文件

保存Drawable资源为bitmap文件

在实际开发中有时候会需要保存项目的drawable文件为bitmap文件

下面的代码是网上能找到的

public Bitmap convertViewToBitmap(View view){view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap bitmap = view.getDrawingCache();return bitmap;}

代码很简单,但是这个代码是可以将布局文件中的view转成bitmap文件的,但是有一个问题就是,如果这个布局文件是通过代码生成的,那么这个转换成bitmap时,这个bitmap就是null,所以往往还需要对这个布局进行重新测量一下,才能得到这个bitmap

下面是更正后的代码

public static Bitmap convertViewToBitmap(View view) {view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));view.layout(0, 0, view.getMeasuredWidth(),view.getMeasuredHeight());view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap bitmap = view.getDrawingCache();return bitmap;}

这里有一个问题就是,布局的测量模式只能是UNSPECIFIED,笔者亲测过,如果是降测量模式改为AT_MOST或者是EXACTLY都不行,得到的bitmap依然是null,不知道哪位大神可否知道这是什么原因,还请不吝赐教

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。