Dev/Android

strings.xml 파일에서 text 색깔 변경하기

healthyryu 2018. 5. 23. 14:13

안드로이드 텍스트 색깔 변경하기


하나의 TextView 에서 특정 글자의 색깔을 변경하기 위한 방법 중에서 string.xml 에서의 색깔 변경을 알려드립니다.


Activity 부분에서 Html.fromHtml() 을 이용해서 setText 처리를 합니다.

TextView.text = Html.fromHtml(getString(R.string.test), int)


그리고 strings.xml 파일에서 <![CDATA[]]> 처리를 해줍니다.

<string name="test"><![CDATA[<font color=#ff0000>Hello</font></string>


MainActivity.kt

val tv01 : TextView = findViewById(R.id.tv_01)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
tv01.text = Html.fromHtml(getString(R.string.tv01), Html.FROM_HTML_MODE_LEGACY)
} else {
tv01.text = Html.fromHtml(getString(R.string.tv01))
}


val tv02 : TextView = findViewById(R.id.tv_02)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
tv02.text = Html.fromHtml(getString(R.string.tv02), Html.FROM_HTML_MODE_LEGACY)
} else {
tv02.text = Html.fromHtml(getString(R.string.tv02))

}


strings.xml

<string name="tv01"><![CDATA[<font color=\'#ff0000\'>Hello</font>]]></string>
<string name="tv02"><![CDATA[<font color=\'#ff0000\'>Hello</font> test]]></string>


참고 : https://stackoverflow.com/a/31252426/3897810

반응형