Android TextView 취소선 긋는 방법 with 확장함수 - Android How To TextView StrikeThrough

개요

Android에서 TextView에 취소선을 추가하거나 제거할 때, 확장 함수를 활용하면 코드의 가독성과 재사용성을 크게 높일 수 있습니다.

확장 함수는 기존 클래스(TextView)의 코드를 수정하지 않고도 새로운 기능을 추가할 수 있어 유지보수성과 생산성을 동시에 향상시킵니다.


1. TextView 확장 함수 만들기

// TextView 취소선 추가 확장 함수
private fun TextView.addStrikeThrough() {
    paintFlags = this.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
}

// TextView 취소선 제거 확장 함수
private fun TextView.removeStrikeThrough() {
    paintFlags = paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv()
}

2. 확장함수 호출하여 텍스트 뷰 취소선 긋기

var isChecked = false

binding.button.setOnClickListener {
    if (isChecked) {
        binding.titleTextView.removeStrikeThrough()
        binding.contentTextView.removeStrikeThrough()
    } else {
        binding.titleTextView.addStrikeThrough()
        binding.contentTextView.addStrikeThrough()
    }

    isChecked = !isChecked
}

3. 확장 함수의 장점

// 일반함수 사용 시
fun addStrikeThrough(textView: TextView) {
    textView.paintFlags = textView.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
}

addStrikeThrough(binding.titleTextView)

// 확장함수 사용시
binding.titleTextView.addStrikeThrough()


Related Posts