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);