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) }