安卓 - 图片带有alpha通道,但在ImageView中显示白色背景。如何修复?

4
问题:
我已经将一个带有 alpha 通道的 png 图像保存到了 Android Studio 中的 @drawable 文件夹中。
在 Android Studio 中的图像如下: enter image description here 但是,当我将其添加到相对布局中的 ImageView 中时,alpha 通道就丢失了。
ImageView 中的图片如下: enter image description here XML 布局代码如下:
<ImageView
    android:layout_width="100dp"
    android:layout_height="100dp"
    app:srcCompat="@drawable/icon_main"
    android:id="@+id/main_icon_img"
    android:background="@android:color/transparent"
    android:scaleType="fitXY"
    android:adjustViewBounds="true"
    android:layout_marginLeft="31dp"
    android:layout_marginStart="31dp"
    android:layout_marginTop="113dp"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

我已经尝试将背景设置为透明。如果我将其保存为mipmap,则图像将显示alpha通道,尽管这不是我的首选方法。
为什么它会出现白色背景?

2
你尝试过另一个PNG透明图像,并确保您正在查看密度可视化的图像资产吗?我猜这可能是图像文件的问题。 - betorcs
XML没有问题。您能否尝试使用其他图片? - Raja Jawahar
嗯,是的,你似乎是对的,这是一个PNG的问题。我之前用GIMP创建过很多次,我会去看看的。谢谢! - user2853442
这真的是带Alpha通道的PNG吗?也许它有一个TRNS块代替?https://dev59.com/jmvXa4cB1Zd3GeqPH1T6#13570973 - leonbloy
1
你解决了这个问题吗?我也遇到了完全相同的问题。 - EpicPandaForce
这个问题有什么解决方案? - Saran Sankaran
2个回答

1
对我来说,问题在于主题样式中的<item name="android:background">@color/white</item>。这会使所有视图都以白色背景绘制,甚至是TextViews

0
请检查imageView是否具有背景属性,并像此图像所示将其删除。

enter image description here

我也发现这个网站非常有帮助,可以让你轻松地从图像中去除背景,使其成为PNG格式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接