如何使Android上的图像透明?
我正在使用线性布局和框架布局。 在线性布局中,我保留一个图像作为背景,并在框架布局中保留一个imageView。 在那imageView我给一个图像。
现在我想让第二个图像(即在imageView中)透明。 我怎样才能做到这一点?
尝试这个:
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)
android:alpha
在XML中是这样做的:
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/blah" android:alpha=".75"/>
在ImageView上设置一个id属性:
<ImageView android:id="@+id/myImage"
在你想隐藏图片的代码中,你需要下面的代码。
首先,你需要一个对ImageView的引用:
ImageView myImage = (ImageView) findViewById(R.id.myImage);
然后,将可见性设置为结束:
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);
如果您在XML文件中,请使用以下内容使您的图像视图透明!
android:background="@null"
在较新版本的Android(至less发布Android 4.2(Jelly Bean))中,setAlpha(int value)方法折旧。 而是使用setAlpha(float value)
方法,该方法使用0到1之间的浮点数,其中0是完全透明的,1是不透明的。
使用setAlpha(float alpha)
设置透明度。 下面的代码对我来说是我使用的浮点数为0 – 1的alpha值。
- 0:全透明
- 0.5 – 50%:透明
-
1:完全不透明
ImageView imageView =(ImageView)itemView.findViewById(R.id.imageView); imageView.setImageResource(mResources [位置]); imageView.setAlpha(.80f);
在XML中,使用:
android:background="@android:color/transparent"
不build议使用ImageViewtypes的setAlpha(int)
方法。
代替
image.setImageAlpha(127); //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
对于20%的透明度,这为我工作:
Button bu = (Button)findViewById(R.id.button1); bu.getBackground().setAlpha(204);
使用:
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.