본문 바로가기
Dev/Android

[Android] TextView draw Underline - 텍스트 밑줄 긋는 3가지 방법

by healthyryu 2019. 1. 10.

TextView 에서 밑줄(Underline) 긋는 방법 3가지!!!!

 

 

TextView 에서 밑줄을 긋기 위해서 검색을해서 (제가)알아낸 3가지 방법입니다.

 

1. strings.xml 에서 간단하게 HTML Tag 이용하는 방법

Java

// strings.xml 작성
<string name="리소스"><u>I can't find pairing button</u></string>

// Activity 에서 작성
TextView.setText(Html.fromHtml(getResources.getString(R.string.리소스)));

Kotlin

TextView.text = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
	Html.fromHtml(resources.getString(R.string.리소스), Html.FROM_HTML_MODE_LEGACY)
} else {
	Html.fromHtml(resources.getString(R.string.리소트),)
}

 

2. Activity 에서 setPaintFlags() 함수로 밑줄 긋는 방법.

Java

 

TextView.setPaintFlags(TextView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

Kotlin

textView.paintFlags = Paint.UNDERLINE_TEXT_FLAG

 

3. Activity 에서 SpannableString 클래스를 사용해서 밑줄 추가하는 방법

Java

SpannableString content = new SpannableString(TextView.getText().toString()); 

// 저는이미 TextView 에 String 을 넣었기 때문에 위와 같이 TextView.getText().toString() 했음
content.setSpan(new UnderlineSpan(), 0, content.length(),0);
TextView.setText(content);

Kotlin

val content = SpannableString(tvEditTime.text.toString())
content.setSpan(UnderlineSpan(), 0, content.length, 0)
tvEditTime.text = content
반응형