您的位置:首页 > 移动开发 > Android开发

在做Android中GIF遇到不能显示的问题

2015-05-20 10:37 162 查看
今天在做guolin大神示例
Android PowerImageView实现,可以播放动画的强大ImageView  的时候遇到了就算把源码中的PowerImageView放进去,在我测试的三星S3机型上也不能显示的问题,找来找去都没发现问题所在,最后终于在源码的AndroidManifest.xml中的Application标签下发现了这样一句话:android:hardwareAccelerated="false",于是就有点明白了,应该是Movie.draw()方法会默认使用硬件加速的绘图。

在API >= 14上,默认是开启的,如果你的应用只是标准的View和Drawable,全局都打开硬件加速,是不会有任何问题的。
然而,硬件加速并不支持所有的2D画图的操作,这时开着它,可能会影响到你的自定义控件或者绘画,出现异常等行为。

因此,因为这个PowerImageView是自定义视图,所以需要取消硬件加速,取消硬件加速的方法有很多级别,这里只取消到Activity级别就可以了,于是在AndroidManifest.xml的相应Activity标签中添加如下代码:

android:hardwareAccelerated="false"


或者我们可以在PowerImageView的构造方法中加入:

setLayerType(View.LAYER_TYPE_SOFTWARE, null);

这样就不会遇到gif图片显示不出来的问题了

 如果感兴趣请查看
Android官网相关介绍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐