我正在使用一个web视图,其中我正在添加一个图像视图。如何将此图像视图的背景设置为透明?

我试过了:

mImageview.setBackgroundResource(R.color.trans);

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


当前回答

除了哈沙德提到的:

两个十六进制字符可以追加到任何十六进制颜色代码。8位十六进制颜色代码中的前两个字符表示其在Android中的不透明度。

两个十六进制字符,取值范围为00 ~ FF。例如,

普通不透明黑六角- "#000000" 全透明- "#00000000" 完全不透明- "#FF000000" 50%透明- "#7F000000"

这样你就可以改变任何颜色到任何级别的透明度。

从百分比中找到十六进制前缀:

百分数除以100,再乘以255,得到小数。这里把十进制转换成十六进制。

例如,对于50%,50/100 * 255 = 127。使用该链接,我们得到了十六进制值7F。

Android:如何创建透明或不透明的背景

其他回答

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

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

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

将百分比转换为十六进制使用任何在线工具&而不是简单地添加在前面的颜色值

例如:使用https://www.joshuamiron.com/percent-to-hex-converter

80%的不透明度

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

使用以下方法实现完全透明:

#00000000

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

#00000000
#10000000
#20000000
#30000000
ImageView.setBackground(R.drawable.my_background);

ImageView.setBackgroundResource(R.color.colorPrimary);

ImageView.getImageAlpha();

ImageView.setAlpha(125); // transparency