从视图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轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...