从视图android捕获位图

前端之家收集整理的这篇文章主要介绍了从视图android捕获位图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我发布了同样的问题,但它接近我的问题,这就是我第二次发布它的原因

嗨,我想从RelativeLayout捕获图像,因为我使用下面的代码

captureRelativeLayout.setDrawingCacheEnabled(true);
   bitmap = captureRelativeLayout.getDrawingCache(true).copy(
                Config.ARGB_8888,false);

问题是,当我开始活动并从那个时候从该视图中获取图像时它会正常工作,但如果我第二次使用它,图像不会被刷新,意味着每次我得到的是前一个位图.

现在,如果我关闭我的活动并且agian启动它,那么我将获得更新的图像,但不是第二次
:(有关更多信息,请查看
can’t share image properly android

解决方法

您应该在复制后销毁图形缓存,因此下次调用getDrawingCache()时将再次构建缓存.

代码如下所示:

captureRelativeLayout.setDrawingCacheEnabled(true);
bitmap = captureRelativeLayout.getDrawingCache(true).copy(Config.ARGB_8888,false);
captureRelativeLayout.destroyDrawingCache();

或者像这样,如果你不想启用标志:

captureRelativeLayout.buildDrawingCache(true);
bitmap = captureRelativeLayout.getDrawingCache(true).copy(Config.ARGB_8888,false);
captureRelativeLayout.destroyDrawingCache();

参考:https://groups.google.com/d/msg/android-developers/IkRXuMtOA5w/zlP6SKlfX-0J

猜你在找的Android相关文章