TextView가 물흐르듯 움직인다? marquee를 써보자

Posted by ITPangPang
2016. 6. 14. 23:30 안드로이드(android)/View


TextView가 물흐르듯 움직인다?

marquee를 써보자


ㆍ이번 글에서는 TextView를 움직일 수 있게 해주는

   marquee에 대해서 써보겠습니다.


ㆍ저는 예전에 html 잠깐 봤을때 신기해서 찾아봤던게

   marquee태그입니다.  

   html에서는 <marquee> 이렇게 </marquee> 간단히

   적어주면 됬었는데, 안드로이드에서는 이것보다는 아주 살짝

   복잡하긴 하지만 그래봐야 몇줄 안되는 아주 쉬운 속성입니다.



그럼 시작해보겠습니다.

시작전에 오랜만에 html

<marquee> 이렇게 </marquee>

한번 넣어보면서 시작~

이렇게



안드로이드에서도

위와 같은 결과를 얻기위해서

사용합니다


뭐 이런식의 결과를 얻을 수 있습니다.

위에처럼 계속 반복되게 해놨는데..

gif용량이... 뒤에껀 잘라버림..


자 그럼 바로

xml로 달려가서

써보겠습니다.

ellipsize = "marquee"

marqueeRepeatLimit = "marquee_forever"

singleLine="true"


바로 이렇게 3개를

넣어줍니다.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
>
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF1254"
android:textSize="30sp"
android:text="ITPANGPANG marquee 공부하는 중입니다~"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
/>

</RelativeLayout>


전 대충 이런식으로

만들엇습니다.


위와 같이 추가 한 다음에

실행시켜보면


..

....

......


아쉽게도 글자가 흐르지 않습니다

마지막으로 java에서 한줄을 더 추가해야 합니다.


TextView.setSelected(true);


요놈을 넣어줍니다.

public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView)findViewById(R.id.tv);
tv.setSelected(true);
}
}


완성

 ~