为什么背景颜色包含在ImageView的png图像中?

时间:2016-01-27 10:09:18

标签: android android-layout android-imageview android-image

我是Android的绝对新手。我正在学习如何设计布局。但是我遇到了ImageView的问题:

当我使用PNG文件设置ImageView的src时,深色背景会自动添加到所有图像中,如屏幕截图所示:

enter image description here

真实的形象是这样的:(没有背景)

enter image description here

这是我的工具栏的xml布局,我没有为ImageView设置任何背景:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:fitsSystemWindows="true"
    android:minHeight="?attr/actionBarSize"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:background="?attr/colorPrimaryDark">
        <ImageButton
            android:id="@+id/btn_open_sidebar"
            android:src="@drawable/open_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <ImageButton
            android:layout_alignParentRight="true"
            android:id="@+id/btn_calendar"
            android:src="@drawable/calendar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
</RelativeLayout>

那么如何使PNG图像透明或与工具栏具有相同的背景?我的意思是,如何删除默认的深色背景色?

7 个答案:

答案 0 :(得分:2)

我认为因为你使用ImageButton android会为它添加默认背景。 您可以将android:backgroud="@android:color/transparent"添加到ImageButton并强制Android使用透明背景。

答案 1 :(得分:0)

如果您使用的是Android Studio,则可以右键单击drawable并选择New - &gt;而不是复制和粘贴.png文件。 ImageAsset然后选择要在drawable文件夹中拥有的图像。它将删除图像的深色背景部分。

答案 2 :(得分:0)

在资源管理器中打开图像,右键单击并转到&#34;属性&#34;,转到详细信息选项卡并检查位深度。根据我的经验,android studio会添加黑色背景,如果不是&#34; 32&#34;。我不知道它为什么这样做但是它不适用透明度。 我只是用&#34; paint.net&#34;编辑图像。并将其重新保存为32位。 它是一种解决方法,但每次都适合我。

答案 3 :(得分:0)

您必须更改父版式背景颜色。

这个

<强>机器人:背景=&#34; ATTR / colorPrimaryDark&#34;

aandroid:background =&#34;任何颜色代码&#34;

答案 4 :(得分:0)

您可以将imageview的背景颜色设置为"#00000000" 它应该做的伎俩。 颜色标记不透明度中8个六位数的前两个六位数 00完全透明,FF完全不透明。

答案 5 :(得分:0)

它是ImageButton的默认属性。这不会发生在ImageView中,所以更新您的问题。使用ImageView或将ImageButton的背景设置为null或使用透明颜色来修复它

var SQLProcess = function () {
    var self = this;
    var _arguments = arguments;

    return sequelize.transaction(function (transaction) {
            return doSomething({transaction: transactioin});
        })
        .catch(function (error) {
            if (error && error.original && error.original.code === 'ER_LOCK_WAIT_TIMEOUT') {

                return Promise.delay(Math.random() * 1000)
                    .then(function () {
                        return SQLProcess.apply(self, _arguments);
                    });

            } else {
                throw error;
            }
        });
};

答案 6 :(得分:0)

在您的相对布局中,您有这样的背景: 机器人:背景= “?ATTR / colorPrimaryDark” 检查colors.xlm

中的这种颜色