Android和设置透明度的(图片)视图透明度

12 浏览
0 Comments

Android和设置透明度的(图片)视图透明度

真的没有与setAlpha(int)对应的XML属性吗?\n如果没有,还有什么替代方案?

0
0 Comments

Android中设置ImageView的透明度(alpha)的问题是由于API的变化导致的。在API 11之前,透明度的范围是从0到255(包含),0表示完全透明,255表示完全不透明。而在API 11及以上的版本中,透明度的范围变为了0f到1f(包含),0f表示完全透明,1f表示完全不透明。

在代码中,可以使用以下方式来设置ImageView的透明度:

ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);

然而,作者对于为什么XML中没有与alpha对应的属性感到困惑。因为XML的一个作用就是简化一些代码。作者认为不明白为什么各种大小、位置都有XML属性对应,而alpha却没有。

问为什么setAlpha方法被弃用。是因为现在他们有一个float参数吗?答案是是的,可以使用imageView.setAlpha(1.0f)来设置透明度,但是需要API级别为11。

为了兼容不同的API级别,在设置ImageView的透明度时,需要根据API版本选择不同的方法。

0
0 Comments

Android中设置ImageView的alpha值时,可以使用ImageView.setAlpha(int)方法,但是该方法的文档中缺少"Related XML Attributes"部分。作为替代,可以使用View.setAlpha(float)方法,对应的XML属性是android:alpha,取值范围是0.0到1.0。可以像下面这样使用:

<ImageView android:alpha="0.4">

然而,View.setAlpha(float)方法仅在API级别11及以上可用。注意,ImageView.setAlpha(int)方法接受的是一个整数,而android:alpha属性接受的是一个浮点数,严格来说,后者并不是前者的准确XML对应属性,但是它是View.setAlpha(float)方法的对应属性。正如前面多次提到的,android:alpha / View.setAlpha(float)仅在API级别11及以上可用。

两者之间的区别在于,浮点数类型的android:alpha取值范围是0-1,而整数类型的ImageView.setAlpha(int)取值范围是0-255。

0
0 Comments

在Android中,设置图像视图的透明度可以使用xml中的alpha属性或者通过编程中的setAlpha(float)方法来实现。在API 11(Android 3.0)之前,只能通过编程来设置图像的透明度。

使用xml中的alpha属性,可以将alpha值设置为0.0(完全透明),0.5(半透明)或者1.0(完全可见)。

例如:

android:alpha="0.0" 完全透明

android:alpha="0.5" 半透明

android:alpha="1.0" 完全可见

setAlpha(float)方法也可以用来设置图像的透明度。在API 11之后才能使用这个方法。

为什么在API 11之前只能通过编程来设置图像的透明度呢?这个回答没有提供任何额外的信息,并且相反地更不完整。

你的回答是完全正确的,但是缺乏示例可能会使这个回答比你的回答更受关注。尽管你的回答提供了更多的信息,但是这个回答提供了更接近我真正需要的解决方案。请添加一些使用你所解释的内容的示例,这绝对会有帮助!

好的,我现在把我的回答变得超级啰嗦了;-)

0