Kotlin没有领域的吸气二传手

我想创建一个没有领域的getter和setter。 目前我有这个功能:

/** Only the color component will be considered, alpha has no effect */ fun setCircleColor(@ColorInt color : Int){ circlePaint.color = ColorUtils.setAlphaComponent(color, circlePaint.alpha) } 

理想情况下,我想有这样的事情

 circleColor: @ColorInt Int get(){ return circlePaint.color set(value){ circlePaint.color = ColorUtils.setAlphaComponent(color, circlePaint.alpha) } 

正如你所看到的,我不想在一个var中存储circleColor,但是能够调用

myView.color = 0xFFaaaaaa而不是myView.setColor(0xFFaaaaaa) 。 这可能吗?

我建议按照你打算这样做的方式来实现它:

 var circleColor: Int @ColorInt get() = circlePaint.color set(@ColorInt color) { circlePaint.color = ColorUtils.setAlphaComponent(color, circlePaint.alpha) }