본문 바로가기
Android/실습

안드로이드[Kotlin] 버튼 클릭 시 background 색상 변경

by 둥글레차35 2024. 3. 26.

해당 형태를 가진 TextView를 클릭시 해당 형태를 유지 시키며 색상을 변경해 보았다.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <corners
        android:radius="100dp"/>
    <solid
        android:color="@color/white"/>
    <stroke
        android:color="@color/base"
        android:width="2dp"/>

</shape>

 

처음에는 이렇게 코드를 작성하니 기존에 만들어 두었던 형태를 유지하지 못하고 TextView의 전체가 색상이 변해 버렸다...

TextView.setBackgroundColor(backgroundColor)

 

이렇게 변경해주니 제대로 형태를 유지하며 색상을 변경하는데 성공하였다.

            TextView.setOnClickListener {
                val backgroundDrawable = button.background
                if (backgroundDrawable is GradientDrawable) {
                    backgroundDrawable.setColor(Color.parseColor("#FFFFFFF"))
                }
            }

댓글