2016-08-04 112 views
4

Kotlin是否支持像@ColorInt這樣的java註釋,因爲我無法讓它工作。我可以使用@ColorInt對顏色進行註釋,但實際上並沒有對該註釋進行皮棉檢查。Kotlin支持@ColorInt Java註釋

fun setStatusBarColor(@ColorInt color){ 
     window.setStatusBarColor(color) 
    } 

當傳遞R.color.colorPrimary,無棉絨被示出。應顯示皮棉R.color.colorPrimary並不顯示resources.getColor(R.color.colorPrimary)

+0

我會這麼認爲(https://kotlinlang.org/docs/reference/annotations.html),但也許Android的kotlin有點不同;或者:lint根本不知道這一點。 – GhostCat

+0

您提到的lint檢查可能尚未針對Kotlin實施:只有這些檢查的子集已被移植,但都是計劃的。 – hotkey

+0

另外,你能分享你使用註釋的地方的代碼嗎?如果在一個屬性上,你設置了什麼註釋目標? (例如http://stackoverflow.com/questions/35361162/what-is-the-default-target-for-an-annotation-when-annotating-property-in-kotlin) –

回答

8

Kotlin語言絕對支持所有Java註釋。你所談論的Lint檢查不是Java語言或Kotlin語言的一部分,而是Android Studio的一個特性,以及IntelliJ IDEA的Android插件。該功能目前僅支持Java,我們計劃在Kotlin插件的未來更新中支持它。

+0

感謝您的解釋。這是我最想念的棉絨檢查,因爲它很容易編寫R.color.xxx而不是解析顏色水庫 –