141

I have a .png logo for my app which doesn't have a background, when I add it to android studio as an Image Asset I am forced to have a background. The hex field doesn't accept 8 digit color codes, 6 digits only. Is there anyway to keep the background invisible?

HishamGarout
  • 1,743
  • 3
  • 11
  • 12
  • 4
    https://romannurik.github.io/AndroidAssetStudio/ Great tool for any type of icons you want to generate – Pierre Sep 13 '19 at 05:31

13 Answers13

213

To make background transparent, set shape as None. See the image below:

enter image description here

EDIT:

For Android Studio 3.0, you can set it from Legacy Tab

enter image description here

Hello World
  • 2,764
  • 1
  • 11
  • 23
45

I'm using Android Studio 3.0.1 and if the above answer doesn't work for you, try to change the icon type into Legacy and select Shape to None, the default one is Adaptive and Legacy.

enter image description here

Note: Some device has installed a launcher with automatically adding white background in icon, that's normal.

Polar
  • 3,327
  • 4
  • 42
  • 77
  • 2
    You select legacy only when your targetSdkVersion is less than 26. If your targetSdkVersion is 26, then your icon type should be adaptive and legacy. – Rupam Das Mar 01 '18 at 20:16
  • 1
    How to make the background layer transparent? – zulkarnain shah Apr 04 '18 at 06:37
  • @zulkarnainshah if you choose to shape none with the legacy mode, then it will show transparent colour. – Farhana Naaz Ansari May 10 '18 at 12:23
  • Does not seem to work in Android Studio 3+. However, Patrick's answer below does seem to work, at least in Android Studio 3.1.2. – Stephen M -on strike- Jul 11 '18 at 23:13
  • @StephenM - which Android version your running? Remember that things become different specially from icon starting from Lollipop to the latest Android version, so I would not be surprise if people seing different background icon in the latest Android version. the fix is to try to use the lower version of Android and use a launcher that doesn't add any background in icons just for development to see the real design of your icon or stick on using the latest Android and just follow what they want. – Polar Jul 12 '18 at 00:17
  • @Polar - I'm using Android Studio 3.1.2 and building with target and compile SDK versions set at 26 and min SDK version at 23. What do you mean by lower version of Android? Android Studio or target/compile/min SDK version? – Stephen M -on strike- Jul 12 '18 at 14:03
34

You have two ways:

1) In Background Layer > Scaling, reduce the Resize to 1

enter image description here

and then in Legacy > Legacy Icon set Shape as None

enter image description here


2) in Background Layer > Scaling > Source Asset, you can set an image as a 1x1 pixel (or any size) transparent.png image (you've already created).

enter image description here

and then in Legacy > Legacy Icon set Shape as None

enter image description here

gadolf
  • 1,035
  • 11
  • 19
24

the above approach didn't work for me on Android Studio 3.0. It still shows the background. I just made an empty background file

<?xml version="1.0" encoding="utf-8"?>
<vector
android:height="108dp"
android:width="108dp"
android:viewportHeight="108"
android:viewportWidth="108"
xmlns:android="http://schemas.android.com/apk/res/android">
</vector>

This worked except the full bleed layers

Patrick
  • 351
  • 2
  • 6
24

This is just another workaround.

  1. For the 'Foreground Layer', select 'Asset type' as text and delete the default text in the text field.

Browse to your image path

  1. For the 'Background Layer', select 'Asset type' as image and now choose the path of the image you want as an icon.

enter image description here

And you are good to go.

Da Man
  • 935
  • 6
  • 12
  • Very simple solution. Big Thanks! I've tested it on Android Studio 3.6 and one thing to add is that it was giving me the error upon having Foreground text null. So what I had done is just adding a space there and it's working. And adding some more! after that I got one problem that when I finished adding mipmap and ran my project, there was an Android logo overriding my logo and I fixed that by modifying mipmap icon xml files by removing there foreground tag line. Hope it will help someone. – Feroz Khan Mar 20 '20 at 19:29
  • 1
    This is brilliant! – ikerfah Jun 29 '20 at 21:03
  • 1
    and set shape to none too.. working on android studio 4.1.1 – Amir Ehsani Nov 29 '20 at 10:21
6

Android Studio 3.5.3 It works with this configuration.

enter image description here

enter image description here

enter image description here

selvabharathi s
  • 137
  • 2
  • 8
3

I Just put my view background (color code) as ClipArt or Image background, and it looks like transparent or no background where both have the same color as background.

Shaahin
  • 1,195
  • 3
  • 14
  • 22
1

These are the steps I took to make an image transparent:

1- I used an online website which makes the image transparent, there are a lot of them. For me, I use this https://www241.lunapic.com/editor/?action=transparent and sometimes this https://www.online-image-editor.com/help/transparency

2- In Android Studio (I'm using version 3.1.3), open Image Asset from app > res (right click) > New > Image Asset Image Asset

3- In the Path, choose the location of the transparent image which you downloaded from the online website, and make the other options as shown, then Next, then Finish. The five different sizes of image mdpi(48×48), hdpi(72×72), xhdpi(96×96), xxhdpi(144×144), and xxxhdpi(192×192) will be created in the res/mipmap-density folders. Image Asset Configuration

4- If you need sizes (dimensions) different from above, you can use this website https://nsimage.brosteins.com/ to upload your PNG image of biggest size that will be used in xxxhdpi. After uploading, you can download a zip file containing the five different sizes of image in the res/drawable-density folders. enter image description here

Hasan El-Hefnawy
  • 1,249
  • 1
  • 14
  • 20
1

First, create a launcher icon (Adaptive and Legacy) from Image Asset:

Select an image for background layer and resize it to 0% or 1% and In legacy tab set shape to none.

Then, delete folder res/mipmap/ic_laucher_round in the project window and Open AndroidManifest.xml and remove attribute android:roundIcon="@mipmap/ic_launcher_round" from the application element.

In the end, delete ic_launcher.xml from mipmap-anydpi-v26.

Notice that: Some devices like Nexus 5X (Android 8.1) adding a white background automatically and can't do anything.

Alireza K
  • 309
  • 3
  • 5
1

With "Asset Type" set to "Image", try setting the same image for the foreground and background layers, keeping the same "Resize" percentage.

Haitham Sweilem
  • 1,633
  • 1
  • 12
  • 13
1

I just added the icon as a normal icon: New -> Vector Asset

and then change the app icon in the Manifest file.

Martin Olariaga
  • 379
  • 4
  • 4
0

For Foreground Layer choose "Text" and then delete the content text Finaly choose the path of the image you want as an icon.

enter image description here

-1

Using android 3.0.1 I noticed this weird behavior(solution), First: in background layer in the source_asset change the asset_type from image to color and than change it back to image. second: enable trim in scaling and then resize it to a small percentage and it will work perfectly. PS: If u didn't do the first step the scaling wont take affect. and if anyone have an explanation for this please provide. steps

All_Rounder
  • 1
  • 1
  • 3