Set transparent background of an imageview on Android

AndroidAndroid Widget

Android Problem Overview


I am using a web view in which I am adding an image view. How can I set the background of this image view to transparent?

I have tried this:

mImageview.setBackgroundResource(R.color.trans);

Where trans<color name="trans">#00000000 </color>.

Android Solutions


Solution 1 - Android

You can set the background transparent of any layout, any view, or any component by adding this code in XML:

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

Solution 2 - Android

In your XML set the Background attribute to any colour, White(#FFFFFF) shade or Black(#000000) shade. If you want transparency, just put 80 before the actual hash code:

#80000000

This will change any colour you want to a transparent one.. :)

Solution 3 - Android

In addition to what Harshad mentioned:

Two hexadecimal characters can be appended to any hexadecimal color code. The first two characters in an 8-digit hex color code represents its opacity in Android.

The two hexadecimal characters can range from 00 to FF. For example,

  • Normal opaque black hex- "#000000"
  • Fully transparent - "#00000000"
  • Fully opaque - "#FF000000"
  • 50% transparent - "#7F000000"

This way you can change any color to any level of transparency.

To find the hexadecimal prefix from a percentage:

Divide the percentage number by 100 and multiply by 255 to get the decimal value. Convert the decimal to hexadecimal here.

For example, for 50%, 50/100 * 255 = 127. Using the link we get hexadecimal value 7F.

Source: Android: how to create a transparent or opaque background

Solution 4 - Android

If you want to add 20% or 30% transparency, you should pre-pend two more characters to the hexadecimal code, like CC.

Note

android:background="#CCFF0088" in XML

where CC is the alpha value, FF is the red factor, 00 is the green factor, and 88 is the blue factor.

Some opacity code:

Hex Opacity Values
100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5%  — 0D
0% —  00

You can also set opacity programmatically like:

yourView.getBackground().setAlpha(127);

Set opacity between 0 (fully transparent) to 255 (completely opaque). The 127.5 is exactly 50%.

You can create any level of transparency using the given formula. If you want half transparent:

 16 |128          Where 128 is the half of 256.
    |8 -0         So it means 80 is half transparent.

And for 25% transparency:

16 |64            Where 64 is the quarter of 256.
   |4 -0          So it means 40 is quarter transparent.

Solution 5 - Android

Use the below code for black:

<color name="black">#000000</color>

Now if you want to use opacity then you can use the below code:

<color name="black">#99000000</color>

And the below for opacity code:

100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5% — 0D
0% — 00

Solution 6 - Android

There is already a predefined constant. Use Color.TRANSPARENT.

Solution 7 - Android

There is already a transparent built into Android: R.color.transparent. http://developer.android.com/reference/android/R.color.html#transparent

But I think you may want to make the background of the image that you are placing into the WebView transparent, for example, with a transparent PNG, rather than the ImageView background. If the actual image is not at all see-through then the ImageView background can't be seen through it.

Solution 8 - Android

In case you want it in code, just:

mComponentName.setBackgroundColor(Color.parseColor("#80000000"));

Solution 9 - Android

Try this code :)

Its an fully transparent hexa code - "#00000000"

Solution 10 - Android

In your XML file, set an attribute "Alpha"

such as

android:alpha="0.0" // for transparent
android:alpha="1.0" // for opaque

You can give any value between 0.0 to 1.0 in decimal to apply the required transparency. For example, 0.5 transparency is ideal for disabled component

Solution 11 - Android

Or, as an alternate, parse the resource ID with the following code:

  mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));

Solution 12 - Android

In xml

@android:color/transparent

In code

mComponentName.setBackgroundResource(android.R.color.transparent)

Solution 13 - Android

In Android Studio it is very simple to adjust color and opacity using a built-in tool:

Android Adjust Color Opacity

Solution 14 - Android

For those who are still facing this problem, you may try this
element.getBackground().setAlpha(0);

Solution 15 - Android

Use the following for complete transparency:

#00000000

When I tried with #80000000 I got a black transparent overlay which I don't want. Try to change the first two digits; it controls the level of transparency, like

#00000000
#10000000
#20000000
#30000000

Solution 16 - Android

One more simple way:

mComponentName.setBackgroundResource(android.R.color.transparent);

Solution 17 - Android

Another working option I came across is to set android:background="@null"

Solution 18 - Android

You could also use View.setAlpha(float) to change the visibility precisely.

0 would be transparent, 1 fully visible. ;)

Solution 19 - Android

Try to use the following code. It will help you in full or more.

  1. A .xml file designed to use this code to set background color:

     android:background="#000000"
    

    or

     android:background="#FFFFFF"
    

    Image is here

    Or you can set it programmatically as well.

  2. Also you can use this code programmatically:

     image.setBackgroundDrawable(getResources().getDrawable(
         R.drawable.llabackground));
    
  3. Also this code for setting the background color as well programmatically:

     image.setBackgroundColor(Color.parseColor("#FFFFFF"));
    
  4. This code for the same programmatically:

     image.setBackgroundColor(getResources().getColor(Color.WHITE));
    

The color depends on your choice of which color you want to use for transparent. Mostly use a white or #FFFFFF color.

Regarding R.drawable.llabackground: This line of code is for your style of the background, like something special or different for your purpose. You can also use this.

Solution 20 - Android

If you use a drawable XML image you can make it transparent as shown in the picture below, or you can use a color code:

<color name="black">#99000000</color> 

Enter image description here

Solution 21 - Android

Color definitions with transparency information may be in the form

#AARRGGBB or #ARGB.

You can use also the shorter value for full transparency: #0000.

Other values are e.g.:

white  grey   black
#FFFF  #F888  #F000 - full color
#EFFF  #E888  #E000
#DFFF  #D888  #D000
#CFFF  #C888  #C000
#BFFF  #B888  #B000
#AFFF  #A888  #A000
#9FFF  #9888  #9000
#8FFF  #8888  #8000
#7FFF  #7888  #7000
#6FFF  #6888  #6000
#5FFF  #5888  #5000
#4FFF  #4888  #4000
#3FFF  #3888  #3000
#2FFF  #2888  #2000
#1FFF  #1888  #1000
#0FFF  #0888  #0000 - full transparency

Solution 22 - Android

Try this:

#aa000000

For transparency 000000 = black, you can change these six numbers for the color you want.

Solution 23 - Android

ImageView.setBackground(R.drawable.my_background);

ImageView.setBackgroundResource(R.color.colorPrimary);

ImageView.getImageAlpha();

ImageView.setAlpha(125); // transparency

Solution 24 - Android

use RelativeLayout which has 2 imageViews in . and set transparency code on the top imageView.

transparency code :

http://schemas.android.com/apk/res/android">

<solid android:color="@color/white"/>
<gradient android:startColor="#40000000"   android:endColor="#FFFFFFFF" android:angle="270"/>

Solution 25 - Android

Convert Percentage to hex using any online tool & than simply add it on front of color value

Example: using https://www.joshuamiron.com/percent-to-hex-converter

enter image description here

80% opacity would be

 <color name="opaque_80_percent">#CC000000</color>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionmuditView Question on Stackoverflow
Solution 1 - AndroidChirag PatelView Answer on Stackoverflow
Solution 2 - AndroidHarshadView Answer on Stackoverflow
Solution 3 - AndroidAaronView Answer on Stackoverflow
Solution 4 - AndroidZar E AhmerView Answer on Stackoverflow
Solution 5 - AndroidNarendra SorathiyaView Answer on Stackoverflow
Solution 6 - AndroidAhmad Dwaik 'Warlock'View Answer on Stackoverflow
Solution 7 - AndroidIntricationsView Answer on Stackoverflow
Solution 8 - AndroidFelipe VasconcelosView Answer on Stackoverflow
Solution 9 - AndroidAgilanbuView Answer on Stackoverflow
Solution 10 - AndroidJay RyuView Answer on Stackoverflow
Solution 11 - AndroidOctoth0rpeView Answer on Stackoverflow
Solution 12 - AndroidFortranView Answer on Stackoverflow
Solution 13 - AndroidJayakrishnanView Answer on Stackoverflow
Solution 14 - AndroidSuicideSheepView Answer on Stackoverflow
Solution 15 - AndroidAmeen MaheenView Answer on Stackoverflow
Solution 16 - AndroidAndrei AulaskaView Answer on Stackoverflow
Solution 17 - AndroidclwhiskView Answer on Stackoverflow
Solution 18 - AndroidjnsView Answer on Stackoverflow
Solution 19 - AndroidAmitsharmaView Answer on Stackoverflow
Solution 20 - AndroidTariqulView Answer on Stackoverflow
Solution 21 - AndroidgotwoView Answer on Stackoverflow
Solution 22 - AndroidAlex ZaraosView Answer on Stackoverflow
Solution 23 - AndroidRavi NaiduView Answer on Stackoverflow
Solution 24 - AndroidMosayeb MasoumiView Answer on Stackoverflow
Solution 25 - AndroidHitesh SahuView Answer on Stackoverflow