여러 뷰들을 사용하다 보면 background를 설정해 놓고 필터처럼 색만 바꾸고 싶을 때가 있습니다. 이럴 때 쓰이는 속성인 BackGroundTint라는 속성값이 있습니다. 필자는 해당값을 xml이아닌 코틀에서 바꿔야 되는 상황을 격었습니다.
이러한 코드들을 찾아보니
viewStateCircleItem.backgroundTintList = when (data.isAvailable) {
true -> ColorStateList.valueOf(ContextCompat.getColor(this.root.context, R.color.stateGrean))
else -> ColorStateList.valueOf(ContextCompat.getColor(this.root.context, R.color.gray))
}
//참고 : https://gyugyu96.tistory.com/22
이런식으로 미리 Color값으로 설정한 값들만 가져올 수 있었습니다. 그렇지만 저는 Hex값으로 해당 값을 설정해주고 싶었습니다.
viewStateCircleItem.backgroundTintList = ColorStateList.valueOf(Color.parseColor("#color"))
이런 식으로 #color에 Hex값을 넣어서 색을 변경할 수도 있습니다.
'안드로이드 > 안드로이드' 카테고리의 다른 글
[Android/Kotlin] 액티비티의 종료로 ViewModel이 죽어버렸다! (1) | 2023.10.29 |
---|---|
[Android/Kotlin] 알림(Notification) - 2, 알림의 속성 (1) | 2023.10.29 |
[Android/Kotlin] Room 외래키 적용 (1) | 2023.10.14 |
[Android/Kotlin] ViewModel 과 ViewPager (1) | 2023.10.10 |
[Android/Kotlin] SharedPreferences (0) | 2023.09.14 |