2016-01-27 3 views
1

Я абсолютный новичок для Android. Я учу, как разработать макет. Но у меня возникли проблемы с ImageView:Почему цвет фона включен в png изображение ImageView?

Когда я установил src из ImageView с файлом PNG, темный цвет фона автоматически добавляется ко всем изображениям, как на скриншоте:

enter image description here

Реальная образ как это: (Там нет фона)

enter image description here

Это расположение XML для моей панели инструментов, и я не ставил любой фон для Im ageView:

<?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 прозрачным или с тем же фоном, что и панель инструментов? Я имею в виду, как удалить этот цвет темного фона по умолчанию?

+0

попробуйте добавить 'android: backgroud =" @ android: color/transparent "' to your ImageButton s –

+0

Спасибо. Это сработало. Просто отправьте свой ответ. Я позову его. –

ответ

2

Я думаю, потому что вы используете ImageButton android добавляет к нему по умолчанию фон. вы можете добавить android:backgroud="@android:color/transparent" в ваш ImageButton s и заставить Android использовать прозрачный фон.

0

Если вы используете Android Studio, то вместо копирования и вставки файла .png щелкните правой кнопкой мыши на drawable и выберите New -> ImageAsset, а затем выберите изображение, которое вы хотите иметь в папке с возможностью переноса. Он удалит темную часть фона.

0

Открыть изображение в проводнике, щелкнуть правой кнопкой мыши и перейти к «свойствам», перейти на вкладку сведений и проверить глубину бит. Из моего опыта студия Android добавляет черный фон, если это не «32». Я не знаю, почему он это делает, но в противном случае он не применяет прозрачность. Я просто редактирую изображение с помощью paint.net и сохраняю его как 32 бит. Его обходной путь, но работает для меня каждый раз.

+0

Это точно 32. Но я уже получил ответ. благодаря –

0

Необходимо изменить цвет фона родительского макета.

Это

андроида: фон =

в

aandroid "атр/colorPrimaryDark?": Фон = "любой код цвета"

0

Вы можете установить фон цвет изображения на "#00000000" Он должен сделать трюк. Первые две шестнадцатеричные цифры в 8 гекса-цифрах в непрозрачности цветного знака 00 полностью прозрачны и FF полностью непрозрачен.

0

Это свойство по умолчанию ImageButton. Этого не произойдет в ImageView, так что обновите свой вопрос. Использование ImageView или установить фон ImageButton обнулить или прозрачный цвет, чтобы исправить это

android:background="@android:color/transparent" 
0

В вашей относительной макете у вас есть этот фон: андроид: «атр/colorPrimaryDark» фон = проверки этот цвет в цветах.xlm