반응형
- 길이가 긴 텍스트뷰 한줄로 흐르게 만들기 -
TextView를 사용하다 보면 텍스트 내용이 길어지기 마련인데
이때 줄바꿈 말고 한줄로 쓰는 방법과
한줄로 썼을 경우 안보이는 부분까지 보이도록 흐르는 방법에 대해 알아보자
xml속성에서 singLine과 ellipsize를 이용하여 흐르는 표현을 할 수 있지만
해당 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) 처리를 해줘야한다.
반응형
댓글