Android - изображение PNG имеет альфа-канал, но при просмотре изображения отображается белый фон. Как исправить?

Проблема:

Я сохранил изображение png в папке @drawable в студии Android. Подтверждено, что у этого изображения есть альфа-канал.

Изображение в студии Android:  введите описание изображения здесь

Когда я добавляю его в представление изображения в относительной компоновке, альфа-канал теряется.

Изображение ImageView:

введите здесь описание изображения

код макета 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" />

Я пробовал сделать фон прозрачным. Если я сохраню его в MIP-карте, изображение будет показывать альфа-канал, хотя это не мой предпочтительный метод.

Есть ли причина, по которой он отображается на белом фоне?


person user2853442    schedule 21.06.2017    source источник
comment
Вы пробовали другой прозрачный png и убедитесь, что просматриваете ресурс изображения для визуализации плотности, я думаю, это проблема с файлом изображения.   -  person betorcs    schedule 22.06.2017
comment
Нет проблем с XML .. Не могли бы вы попробовать с каким-нибудь другим изображением ..   -  person Raja Jawahar    schedule 22.06.2017
comment
хммм, да, похоже, вы правы, это проблема с png. Я создал его с помощью gimp, что делал много раз раньше. Я буду смотреть в него. Спасибо!   -  person user2853442    schedule 22.06.2017
comment
Это действительно PNG с альфа-каналом? Возможно, вместо этого у него есть кусок TRNS? stackoverflow.com / questions / 13569887 /   -  person leonbloy    schedule 23.06.2017
comment
Вы когда-нибудь догадывались об этом? У меня точно такая же проблема.   -  person EpicPandaForce    schedule 05.09.2018
comment
Что с этим делать?   -  person Saran Sankaran    schedule 28.01.2020


Ответы (2)


Для меня проблема была

<item name="android:background">@color/white</item>

в тематическом стиле. Это сделало все виды нарисованными с помощью белого BG. Даже theTextViews.

person Saran Sankaran    schedule 28.01.2020

Пожалуйста, проверьте imageView, есть ли у него атрибут фона, и избавьтесь от него, как показано на этом изображении.

введите описание изображения здесь

Я также обнаружил, что этот сайт настолько полезен, что позволяет легко удалять фон с изображения, эффективно делая его PNG.

person Tonnie    schedule 30.09.2020