코딩하는 일용직 노동자

TextView HTML span 기능 넣기. 본문

안드로이드

TextView HTML span 기능 넣기.

bacass 2020. 4. 29. 17:56

텍스트뷰를 html span 처럼 꾸미고 클릭 이벤트 까지 적용할 수 있습니다.

# 소스

val span_click = object : ClickableSpan() {
            override fun onClick(textView: View) {
                startActivity(Intent(this@PurchaseActivity, MyPageTermsActivity::class.java).apply {
                    putExtra("goDetail", 2)
                })
            }
        }
        val ss = SpannableString("구매신청 시, XXX 서비스 계약약관과\n 결제에 동의하는 것으로 간주됩니다.")
        ss.setSpan(span_click, 8, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
        ss.setSpan(UnderlineSpan(), 8, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
        ss.setSpan(ForegroundColorSpan(Color.parseColor("#2ac1bb")), 22, 29, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
        ss.setSpan(StyleSpan(Typeface.BOLD), 8, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
        ss.setSpan(StyleSpan(Typeface.BOLD), 22, 29, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)

        tv_join_agree_info.text = ss
        tv_join_agree_info.movementMethod = LinkMovementMethod.getInstance()

 

# 화면