Я хотел бы создать 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) }
Как вы можете видеть, я не хочу хранить circleColor в var, но вы можете позвонить
myView.color = 0xFFaaaaaa
вместо myView.setColor(0xFFaaaaaa)
. Это возможно?
Я предлагаю просто реализовать его так, как вы намереваетесь это сделать:
var circleColor: Int @ColorInt get() = circlePaint.color set(@ColorInt color) { circlePaint.color = ColorUtils.setAlphaComponent(color, circlePaint.alpha) }