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

Как вы можете видеть, я не хочу хранить 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) } 
Intereting Posts
Инструментальные тесты не могут выполняться в библиотечных модулях Android с файлами Kotlin Создание runnable / uber jar с maven из проекта, смешанного с Java и Kotlin NotificationListenerСервис не создан переместить вид в зависимости от направления движения Как я могу перерисовать Anko frameLayout при изменении моей модели? Ошибка изображения элемента RecyclerView Как связать кнопку с веб-сайтом в студии android с помощью kotlin admob banner использует слишком много памяти Как вызвать конструктор родового типа в конструкторе класса Android Kotlin как установить флажок в режиме просмотра нескольких вариантов Java – общий для Kotlin generic. Возвращать общий метод Как получить испущенную ценность от первого наблюдаемого Kotlin by Lazy в пользовательских представлениях Почему мой слайдер-редактор не работает в сетке Vaadin 8? Почему Kotlin не может вывести следующий аргумент лямбда (после преобразования Java -> Kotlin)?