본문 바로가기
Language/Android

[Android] 안드로이드_흐르는 TextView 만들기 (feat. ellipsize, singleLine)

by 썸머워즈 2020. 1. 31.
반응형

 

 

- 길이가 긴 텍스트뷰 한줄로 흐르게 만들기 -


TextView를 사용하다 보면 텍스트 내용이 길어지기 마련인데

 

이때 줄바꿈 말고 한줄로 쓰는 방법과

 

한줄로 썼을 경우 안보이는 부분까지 보이도록 흐르는 방법에 대해 알아보자


xml속성에서 singLineellipsize를 이용하여 흐르는 표현을 할 수 있지만

 

해당 ellipsize = marquee 효과는 포커싱이 되어야만 흐르게 되어있다.

 

그래서 선택된것으로 알리기 위해서는 Java단에서 처리를 해줘야하는데

 

그냥 한번에 처리하도록 하자

 

- JAVA 처리 -

txtBldgDong.setSingleLine(true);    // 한줄로 표시하기
txtBldgDong.setEllipsize(TextUtils.TruncateAt.MARQUEE); // 흐르게 만들기
txtBldgDong.setSelected(true); // 선택하기

TextView를 대상으로

 

.setSingleLine(true) - 긴 텍스트를 한줄로 표시

.setEllipsize(TextUtils.TruncateAt.MARQUEE) - 텍스트가 잘릴경우 (길 경우) 흐르게 만들기

.setSelected(true) - 해당 텍스트뷰가 선택된것처럼 만들기

 

이렇게 세가지만 선언해 주면 된다.

 

xml 파일에서는 다음과 같이 선언해주면 된다.

 

- xml 처리 -

android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"

 marqueeRepeatLimit 는 반복 횟수를 정하는거기 때문에

 

forever를 사용하면 계속 흐르도록 할 수 있으나

 

위에서 언급한거와 마찬가지로 포커스가 되어있어야 흐르기 때문에

 

어차피 java 쪽에서 setSelected(true) 처리를 해줘야한다.

 

반응형


댓글

TOP