2017-10-25 5 views
0

フィールドなしのゲッターとセッターを作成したいと思います。現在、私はこの機能を持っている:コトリンゲッターセッターフィールドなし

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

理想的には私はあなたが見ることができるように、私はVARでcircleColorを保存したい、まだのことはできません。この

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

のようなものを持っていると思います

myView.color = 0xFFaaaaaa myView.setColor(0xFFaaaaaa)の代わりに電話してください。これは可能ですか?

答えて

2

私はちょうどそれをあなたがそれを行うことを意図している方法を実装することをお勧めしたい:

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

は、未使用circleColorのIntを持っているメモリの無駄ではないですか? –

+1

これでバッキングフィールドはありません... – tynn

+0

大丈夫、ありがとう! –

関連する問題