如何在 Android 上使图像透明?
Posted
技术标签:
【中文标题】如何在 Android 上使图像透明?【英文标题】:How can I make an image transparent on Android? 【发布时间】:2011-07-01 23:20:17 【问题描述】:我使用的是线性布局和框架布局。在线性布局中,我保留一个图像作为背景,在框架布局中,我保留一个 imageView。在那个 imageView 中,我给出了一个图像。
现在我想让第二张图片(即在 imageView 中)透明。我该怎么做?
【问题讨论】:
你需要从代码或xml设置透明吗? 你能告诉我如何设置透明 ***.com/questions/1492554/… 【参考方案1】:试试这个:
ImageView myImage = (ImageView) findViewById(R.id.myImage);
myImage.setAlpha(127); //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
注意:setAlpha(int)
已被弃用,取而代之的是 setAlpha(float)
,其中 0 表示完全透明,1 表示完全不透明。像这样使用它:myImage.setAlpha(0.5f)
【讨论】:
setAlpha(int) 已弃用,取而代之的是 setAlpha(float),其中 0 完全透明,1 完全不透明myImage.setAlpha(0.5f);
【参考方案2】:
android:alpha
在 XML 中执行此操作:
<ImageView
android:layout_
android:layout_
android:src="@drawable/blah"
android:alpha=".75"/>
【讨论】:
【参考方案3】:在 ImageView 上设置一个 id 属性:
<ImageView android:id="@+id/myImage"
在您希望隐藏图像的代码中,您需要以下代码。
首先,您需要对 ImageView 的引用:
ImageView myImage = (ImageView) findViewById(R.id.myImage);
然后,将可见性设置为 GONE:
myImage.setVisibility(View.GONE);
如果您想在其他地方有代码使其再次可见,只需以相同方式将其设置为可见:
myImage.setVisibility(View.VISIBLE);
如果您的意思是“完全透明”,则上面的代码有效。如果您的意思是“部分透明”,请使用以下方法:
int alphaAmount = 128; // Some value 0-255 where 0 is fully transparent and 255 is fully opaque
myImage.setAlpha(alphaAmount);
【讨论】:
现在透明度也不起作用。当我将可见性设置为 GONE 时,它的工作方式与不可见 编辑代码示例以支持部分透明。我误解了原来的问题【参考方案4】:如果您在 XML 文件中,请使用以下内容使您的 imageview 透明!
android:background="@null"
【讨论】:
【参考方案5】:在较新版本的 Android 上(至少在 Android 4.2 (Jelly Bean) 之后),setAlpha(int value) 方法已被弃用。相反,请使用 setAlpha(float value)
方法,该方法采用 0 和 1 之间的浮点数,其中 0 表示完全透明,1 表示不透明。
【讨论】:
【参考方案6】:由于 setAlpha int 已被弃用,可以使用 setImageAlpha (int)
ImageView img = (ImageView) findViewById(R.id.img_image);
img.setImageAlpha(127); //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
【讨论】:
【参考方案7】:使用setAlpha(float alpha)
设置透明度。如果我在 float 中使用 alpha 值,以下代码对我有用,0 - 1。
1:完全不透明
ImageView imageView = (ImageView) itemView.findViewById(R.id.imageView); imageView.setImageResource(mResources[位置]); imageView.setAlpha(.80f);
【讨论】:
【参考方案8】:ImageView 类型中的方法setAlpha(int)
已弃用。
代替
image.setImageAlpha(127);
//value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
【讨论】:
【参考方案9】:在 XML 中,使用:
android:background="@android:color/transparent"
【讨论】:
【参考方案10】:Image alpha 将不透明度设置为 ImageView,这会使 Image 变得模糊,请尝试在 ImageView 中添加 tint 属性
android:tint="#66000000"
也可以通过编程方式完成:
imageView.setColorFilter(R.color.transparent);
您需要在 colors.xml 中定义透明颜色的地方
<color name="transparent">#66000000</color>
【讨论】:
【参考方案11】:对于 20% 的透明度,这对我有用:
Button bu = (Button)findViewById(R.id.button1);
bu.getBackground().setAlpha(204);
【讨论】:
【参考方案12】:用途:
ImageView image = (ImageView) findViewById(R.id.image);
image.setAlpha(150); // Value: [0-255]. Where 0 is fully transparent
// and 255 is fully opaque. Set the value according
// to your choice, and you can also use seekbar to
// maintain the transparency.
【讨论】:
以上是关于如何在 Android 上使图像透明?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iPhone 上使形状不规则的透明 CALayer 变暗?
如何在Android Studio中使图像中的特定颜色透明?