210202

몇초마다 자동으로 텍스트뷰 변하게하기(Github 오픈소스) 본문

Android

몇초마다 자동으로 텍스트뷰 변하게하기(Github 오픈소스)

dev210202 2020. 2. 20. 10:44

아래 사이트를 참고하여 기능을 구현했다.

https://github.com/rosenpin/fading-text-view

 

rosenpin/fading-text-view

A TextView that changes its content automatically every few seconds - rosenpin/fading-text-view

github.com

사용방법은 어렵지 않다. 가이드에 나온대로 그대로 따라하면 된다.

1. build.gradle에 추가

dependencies{
	implementation 'com.tomer:fadingtextview:2.5'
}

2. string.xml에 쓰고싶은 텍스트 추가

<string-array name="use">
        <item>사진을 찍거나 갤러리에서 선택해주세요</item>
        <item>선택된 사진을 머신러닝을 통해 분석합니다</item>
</string-array>

3. layout에 FadingTextView 추가

<com.tomer.fadingtextview.FadingTextView
                    android:gravity="center"
                    android:id="@+id/fading_textview"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    app:timeout="500"
                    app:texts="@array/use">
</com.tomer.fadingtextview.FadingTextView>

4. 액티비티 파일에 객체 생성

private FadingTextView fadingTextView;

...
//oncreate 안에서 findView해줘야함
fadingTextView = findViewById(R.id.fading_textview);
       

Timeout을 사용해서 바뀌는 시간을 조절할 수 있다

app:timeout="500"

텍스트를 동적으로 설정하려면 다음과 같이 할 수 있다.

String[] texts = {"text1","text2","text3"};
FadingTextView FTV = (FadingTextView) findViewById(R.id.fadingTextView);
FTV.setTexts(texts);

 시간도 동적으로 설정할 수 있다.

//For text change once every hour
FTV.setTimeout(60, MINUTES);

//For text change once every half a minute
FTV.setTimeout(0.5, MINUTES);

//For text change every 10 seconds
FTV.setTimeout(10, SECONDS);

//For text change every 500 milliseconds (0.5 seconds)
FTV.setTimeout(500, MILLISECONDS);
Comments