본문 바로가기

안드로이드/팁

[AOS] TextView 글자별로 줄바꿈 하기

반응형

Textview에 표현하는 글이 디바이스 크기나 앱 환경에 따라 한줄이거나, 두줄로 나뉠수 있는 경우 어떻게 보여질지 많은 고민을 하게 됩니다. 

그 글의 특성에 맞게 적당하게 알아서 보여지면 좋겠지만 그렇지 않습니다. 적절하게 대응해야합니다.

Textview는 줄바꿈을 할때 기본적으로 단어 단위로 끊습니다.

    
        var message = "긴 글을 보여주게 될 경우 단어 별로 끊기기때문에매우 어색해 보일수 있는데"
        binding.tvContent.text = message

극단적인 예로 위 코드를 실행하면 아래 사진처럼 노출되는데

'끊기기때문에매우'를 한 단어로 구분하기 때문에 첫번째 줄에 많은 여백이 발생해 조금 어색해 보일 수 있습니다.

하지만 문장의 공백을 '\u00A0' 문자로 치환하여 출력하면 아래 사진 처럼 노출됩니다.

'\u00A0' 은 줄바꿈 안하는 공백이라는 뜻을 가진 글자 입니다. 

 

생각보다 간단하게 변경할 수 있어 일기같은 긴글을 표현할때 적절하게 사용하면 좋을 것 같습니다. 

전체 코드 

   var message = "긴 글을 보여주게 될 경우 단어 별로 끊기기때문에매우 어색해 보일수 있는데"
        binding.tvContent.text = message.replace(" ", "\u00A0")

 

반응형