Android GIF透明背景消失

Posted

技术标签:

【中文标题】Android GIF透明背景消失【英文标题】:Android GIF transparent background disappears 【发布时间】:2015-12-11 16:55:42 【问题描述】:

我是 android Java 编程新手。对于一个项目,我需要动态变化的透明图像。我创建了一个带有 ImageView 的布局。还有一个带有透明背景的小型 GIF 美国国旗 GIF。

在代码中,我将变量连接到 imageview 并将相同的图像分配给 ImageResources 中的变量

ImageView image = (ImageView)convertView.findViewById(R.id.listview_image);
image.setImageResource(R.drawable.vlag);

这很顺利,但是图像以白色背景显示。透明度丢失。这在下图中以白色背景显示。

【问题讨论】:

GIF 可能有问题。我建议您将其转换为 PNG。 【参考方案1】:

ImageView 上的 GIF 总是一个问题。使用GIFImageView

而且你必须这样使用它:

 gifImageView = (GifImageView) findViewById(R.id.gifImageView);
 gifImageView.setBytes(bytes);
 gifImageView.startAnimation();

它甚至可以选择从网上下载 gif。

【讨论】:

这里也一样,它提供了一个动画解决方案,而不是透明度。 其他解决方案是让每一帧的 GIF(png 文件)和一个 xml 动画。 我正在寻找透明度解决方案,而不是动画解决方案 然后,如果您不想要动画,请使用 PNG 文件...如果您想要透明度和动画,请逐帧使用 xml 动画。仅仅为了透明而使用 GIF 是没有意义的。 图片为 GIF 格式。我已经尝试了几个没有成功的 GIF2PNG 例程。他们都搞砸了透明度。 :-(

以上是关于Android GIF透明背景消失的主要内容,如果未能解决你的问题,请参考以下文章

vue背景透明度消失

将裁剪蒙版应用于具有透明背景的动画 gif

php缩放gif和png格式透明背景变成黑色的解决方法

如何使用 PHP 使动画 gif 的背景透明?

PS制作gif动图以及背景透明与消除残影

php缩放gif和png图透明背景变成黑色的解决方法_php技巧