val animation: ObjectAnimator = ObjectAnimator.ofFloat(this, "rotation", degree)
animation.apply {
duration = getRollDuration()
interpolator = DecelerateInterpolator()
addListener(object: Animator.AnimatorListener {
override fun onAnimationStart(p0: Animator?) {
}
override fun onAnimationEnd(p0: Animator?) {
var degree = rotation%360
var sweep = 360 / PAINTS.size
var position = PAINTS.size-1 - (degree/sweep).toInt();
listener?.onRouletteStop(position)
}
override fun onAnimationCancel(p0: Animator?) {
}
override fun onAnimationRepeat(p0: Animator?) {
}
})
}
animation.start()
코드는 네 줄인데 이틀이나 잡아먹었다.
돌아간만큼 - 된다고 생각하고 해당하는 각도의 위치를 계산하였더니 된다.
다 써놓고 하는 말이지만 이거를 포스팅으로 써도 될지 확신이 들지 않았다.
하루 삽질하고 오늘 퇴근하면서 주차장에서 번쩍 생각이 들어서 해봤더니.. 어라 되네??
그래서 내가 이해하고 만든 게 아닌...? 근데 결과는 잘 나오는...? 그런 코드라..
그냥 '어 이러면 될 거 같은데?' 했더니 되버린.. 그런 코드다 ㅜㅜ
(하루아침에 이랬나 코딩&디버깅의 대부분이 '엥 혹시?ㅋㅋ'로 때려맞추는 나란 여자..)
'개발 > Android' 카테고리의 다른 글
[프로젝트] 7일차 - Room ( Database ) (0) | 2021.09.25 |
---|---|
[프로젝트] 6일차 - atan2 (0) | 2021.09.25 |
[프로젝트] 2일차 - 원판 만들고 돌리기 (4) | 2021.09.09 |
[프로젝트] 1일차 - 앱 바 구현 (0) | 2021.09.08 |
SurfaceView 맨 처음 그려진 게 안 없어질 때 (0) | 2021.03.26 |