Target API 21 이상으로 설정한다.
private fun animateRainbow() {
val anim = ValueAnimator.ofArgb(
Color.RED, Color.YELLOW, Color.GREEN, Color.BLUE, Color.MAGENTA
).apply {
duration = 1000 * 5
repeatCount = ValueAnimator.INFINITE
repeatMode = ValueAnimator.REVERSE
addUpdateListener {
// tvRainbow가 TextView이다.
binding.tvRainbow.setBackgroundColor(it.animatedValue as Int)
}
}
anim.start()
}
각 컬러 값들은 ContextCompat.getColor(context, R.color.blue)
식으로 colors.xml
에 정의되어있는 값으로 교체 할 수 있다.
'프로그래밍 > Android' 카테고리의 다른 글
[안드로이드] Kotlin에서 addOnGlobalLayoutListener 사용하기 (lambda에서 자신을 참조하는 법) (0) | 2021.05.26 |
---|---|
[안드로이드] 루팅 기기 체크하는 법 (Rooted device detection) (2) | 2021.04.17 |
[안드로이드] 앱이 버벅거리지 않게 하기 위해서 해야할 일 (0) | 2021.03.31 |
[안드로이드] V3 구글 인앱 결제 쉽게 구현하기 2021 - 정기결제 구독 상품편 (3) | 2021.03.22 |
[안드로이드] V3 구글 인앱 결제 쉽게 구현하기 2021 - 인앱 상품편 (21) | 2021.03.21 |