Dev/Android

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

healthyryu 2019. 1. 10. 10:39

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
반응형