2016-08-04 92 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而不是解析颜色水库 –