2014-11-14 76 views
2

在Android 5.0上测试我的应用后,我注意到image.setAlpha()在这个Android版本上不起作用。Android上的image.setAlpha棒棒糖不起作用

我试着用image.setImagealpha()函数,但返回此错误: “的方法setImageAlpha(INT)是未定义的类型绘制对象”是I'm我的应用程序使用

API级别是8

我该怎么办?

+0

ImageView在API 11之后具有setAlpha(float)方法。在API 11之前,它使用setAlpha(int)。你给它一个浮点值而不是int吗?对于80%的透明度,你会做imageView.setAlpha(0.8); – ChallengeAccepted 2014-11-14 23:17:25

+0

我给一个int值。 我希望应用程序同时适用API 8和Android 5.0 – katagorri 2014-11-18 22:43:03

+0

我发布了一个应该可以工作的解决方案。如果它确实解决了您的问题,请将其标记为正确的答案。快乐编码! – ChallengeAccepted 2014-11-25 21:41:44

回答

1

ImageView在API 11之后具有setAlpha(float)方法。在API 11之前,它使用setAlpha(int)。既然你想支持API 8及以上版本,你必须指定不同的状态。因此,要解决此问题,请使用以下代码:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB){ 
    //For API 11 and above use a float such as 0.54.(54% transparency)   
    imageView.setAlpha(float); 
} 
else 
    //For API Below 11 use an int such as 54. 
    imageView.setAlpha(int); 
+0

首先,感谢您这样做的代码,但它没有工作:s – katagorri 2014-11-27 22:25:10

+0

我做了更多的研究并找到了这个。看看这是否工作,并将其与我的代码检查API级别。祝你好运! http://stackoverflow.com/a/4931349/1371041 – ChallengeAccepted 2014-11-30 05:39:47