Android/View
TextView에 marquee 적용하기
덩치
2014. 4. 24. 16:18
Marquee란, 전광판같은곳에서 문장을 좁은 공간에 표시하기위해
옆으로 이동하면서 숨겨진부분의 글자들이 표시되도록 하는것이다.
앞의 글자가 왼쪽으로 사라지고 뒤에 글자가 나타나는형식
Xml 레이아웃에서 텍스트뷰 속성에
android:ellipsize="marquee"
android:focusable="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
를 추가 해 주면 된다.
첫번째는 marquee를 사용하겠다는 뜻이고,
두번째는 focus를 TextView가 가지고 있어야 하기때문에 설정한다.
세번째는 반복횟수인데, int값을 줘도 되고 저렇게 계~속 움직이도록 할 수 있다.
네번째는 텍스트뷰의 라인을 한줄로 표시하는것으로, 텍스트가 영역을 벗어날정도로 긴 경우에도
줄내림을 하지 않는다는것이다. 그래야 marquee가 적용된다.
아주 중요한것. 오늘 이것때문에 하루종일 씨름했는데,
setText 할 때 마다 marquee가 초기화되어 처음부터 표시되기에 setText가 자주 발생하는 뷰에 적용하기에는
성격이 맞지 않다.