在Android上设置imageview的透明背景

我正在使用Web视图,在其中添加图像视图。 我怎样才能将这个图像视图的背景设置为透明?

我试过这个:

mImageview.setBackgroundResource(R.color.trans); 

其中trans<color name="trans">#00000000 </color>

在您的XML中,将Background属性设置为任何颜色, White(#FFFFFF)阴影或Black(#000000)阴影。 如果你想要透明度,只要把80放在实际的哈希码之前:

 #80000000 

这将改变你想要的任何颜色透明的.. 🙂

您可以通过在XML中添加此代码来设置任何布局,任何视图或任何组件的背景透明:

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

除了Harshad提到的:

两个hex字符可以附加到任何hex颜色代码。 8位hex颜色代码中的前两个字符表示Android中的不透明度。

两个hex字符的范围可以从00到FF。 例如,

  • 普通不透明的黑色六angular形“#000000”
  • 完全透明 – “#00000000”
  • 完全不透明 – “#FF000000”
  • 50%透明 – “#7F000000”

这样,您可以将任何颜色更改为任何级别的透明度。

从百分比中查找hex前缀:

将百分数除以100,乘以255得到十进制数。 在这里将十进制转换为hex。

例如,对于50%,50/100 * 255 = 127.使用链接我们得到hex值7F。

来源: Android:如何创build一个透明或不透明的背景

如果你想添加20%或30%的透明度,你应该预先再加两个字符到hex代码,比如CC。

注意

android:background="#CCFF0088" in XML

其中CC是α值,FF是红色因子,00是绿色因子,88是蓝色因子。

一些不透明的代码:

hex不透明度值

 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 

您也可以通过编程方式设置不透明度,如下所示:

 yourView.getBackground().setAlpha(127); 

在0(完全透明)到255(完全不透明)之间设置不透明度。 127.5正好是50%。

您可以使用给定的公式创build任何级别的透明度。 如果你想半透明:

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

而对于25%的透明度:

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

已经有一个预定义的常量。 使用Color.TRANSPARENT

使用下面的黑色代码:

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

现在,如果你想使用不透明度,那么你可以使用下面的代码:

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

以下为不透明代码:

100% – FF

95%-F2

90% – E6

85% – D9

80% – CC

75% – 高炉

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

Android中已经有一个透明的内容:R.color.transparent。 http://developer.android.com/reference/android/R.color.html#transparent

但是我认为您可能想要将放置在WebView中的图像的背景设置为透明,例如,使用透明的PNG而不是ImageView背景。 如果实际的图像不是透明的,那么ImageView背景就不能通过它看到。

如果你想在代码中,只是:

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

或者,作为备用,使用以下代码parsing资源ID:

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

对于那些仍然面临这个问题的人,你可以试试这个
element.getBackground().setAlpha(0);

使用下面的完整透明度:

 #00000000 

当我尝试#80000000我得到了一个我不想要的黑色透明覆盖。 尝试改变前两位数字; 它控制着透明度的水平

 #00000000 #10000000 #20000000 #30000000 

一个更简单的方法:

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

我遇到的另一个工作选项是设置android:background="@null"

您也可以使用View.setAlpha(float)来精确地更改可见性。

0将是透明的,1是完全可见的。 ;)

在Android Studio中,使用内置工具调整颜色和不透明度非常简单:

Android调整颜色不透明度

尝试使用下面的代码。 它会帮助你完整或更多。

  1. devise用于使用此代码设置背景颜色的.xml文件:

     android:background="#000000" 

    要么

     android:background="#FFFFFF" 

    图像在这里

    或者你也可以通过编程来设置它。

  2. 你也可以通过编程来使用这段代码:

     image.setBackgroundDrawable(getResources().getDrawable( R.drawable.llabackground)); 
  3. 另外这个代码用于设置背景颜色以及编程:

     image.setBackgroundColor(Color.parseColor("#FFFFFF")); 
  4. 这个编码相同的代码:

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

颜色取决于您想要透明使用哪种颜色的select。 大多使用白色或#FFFFFF颜色。

关于R.drawable.llabackground :这行代码适合你的背景风格,就像你的目的特殊或不同的东西。 你也可以使用这个。

如果您使用可绘制的XML图像,则可以使其透明(如下图所示),也可以使用颜色代码:

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

在这里输入图像说明

在你的XML文件中,设置一个属性“Alpha”

 "android:alpha"="1.0" 

其中1.0是不透明的,0.0是完全透明的。

 ImageView.setBackground(R.drawable.my_background); ImageView.setBackgroundResource(R.color.colorPrimary); ImageView.getImageAlpha(); ImageView.setAlpha(125); // transparency 

尝试这个:

 #aa000000 

对于透明度000000 =黑色,您可以更改这六个数字为你想要的颜色。