The question:
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>
.
The Solutions:
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Method 1
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"
Method 2
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.. π
Method 3
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
Method 4
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.
Method 5
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
Method 6
There is already a predefined constant. Use Color.TRANSPARENT
.
Method 7
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.
Method 8
In case you want it in code, just:
mComponentName.setBackgroundColor(Color.parseColor("#80000000"));
Method 9
Try this code π
Its an fully transparent hexa code β β#00000000β
Method 10
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
Method 11
Or, as an alternate, parse the resource ID with the following code:
mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));
Method 12
In xml
@android:color/transparent
In code
mComponentName.setBackgroundResource(android.R.color.transparent)
Method 13
In Android Studio it is very simple to adjust color and opacity using a built-in tool:
Method 14
For those who are still facing this problem, you may try this
element.getBackground().setAlpha(0);
Method 15
One more simple way:
mComponentName.setBackgroundResource(android.R.color.transparent);
Method 16
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
Method 17
Another working option I came across is to set android:background="@null"
Method 18
You could also use View.setAlpha(float)
to change the visibility precisely.
0 would be transparent, 1 fully visible. π
Method 19
Try to use the following code. It will help you in full or more.
-
A .xml file designed to use this code to set background color:
android:background="#000000"
or
android:background="#FFFFFF"
Or you can set it programmatically as well.
-
Also you can use this code programmatically:
image.setBackgroundDrawable(getResources().getDrawable( R.drawable.llabackground));
-
Also this code for setting the background color as well programmatically:
image.setBackgroundColor(Color.parseColor("#FFFFFF"));
-
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.
Method 20
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>
Method 21
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
Method 22
ImageView.setBackground(R.drawable.my_background);
ImageView.setBackgroundResource(R.color.colorPrimary);
ImageView.getImageAlpha();
ImageView.setAlpha(125); // transparency
Method 23
Try this:
#aa000000
For transparency 000000 = black, you can change these six numbers for the color you want.
Method 24
use RelativeLayout which has 2 imageViews in . and set transparency code on the top imageView.
transparency code :
<solid android:color="@color/white"/>
<gradient android:startColor="#40000000" android:endColor="#FFFFFFFF" android:angle="270"/>
Method 25
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
80% opacity would be
<color name="opaque_80_percent">#CC000000</color>
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0