2014-11-14 61 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