반응형
AlphaAnimation 클래스를 사용하면 간단하게 텍스트가 깜빡이는 애니메이션을 만들 수 있습니다.
java 코드
public class MainActivity extends AppCompatActivity {
TextView text;
Animation anim;
Button button;
boolean start;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = findViewById(R.id.text);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!start){
start = true;
text.startAnimation(anim);
}else{
start = false;
text.clearAnimation();
}
}
});
anim = new AlphaAnimation(0.0f,1.0f);
anim.setDuration(100);
anim.setStartOffset(20);
anim.setRepeatMode(Animation.REVERSE);
anim.setRepeatCount(Animation.INFINITE);
}
}
AlphaAnimation은 투명도를 조절하는 클래스입니다.
new AlphaAnimation(0.0f,1.0f) - 괄호 안에 넣어야 하는 숫자는 투명도를 의미하는데 float형이고 범위는 0.0~1.0입니다.
setDuration(100) - 지속시간을 의미하는데 AlphaAnimation을 생성하면서 지정해줬던 투명도를 몇초동안 실행하게 할것이냐를 의미합니다. (100 - 1초를 의미합니다.)
setStartOffset(20) - 한번 애니메이션이 끝난뒤에 다음 애니메이션이 시작되기 위해 잠시 대기하는 시간이라고 생각하면 됩니다.
setRepeatMode(Animation.REVERSE) - 애니메이션이 반복되게 하려면 지정해주면 된다. 반복하고 싶지 않으면 해당 코드는 넣지 않아도 됩니다.
setRepeatCount(Animation.INFINITE) - 몇번 반복 할것인지를 정하는 함수이다. Animation.INFINITE를 넣으면 무한 반복을 할 수 있습니다.
text.startAnimation(anim) - 원하는 애니메이션을 지정해주면 애니메이션이 시작됩니다.
text.clearAnimation() - 애니메이션을 종료시킬 수 있습니다.
반응형
'안드로이드 > 코드' 카테고리의 다른 글
[안드로이드] 효과음 넣기 (SoundPool, AudioManager) (0) | 2019.11.19 |
---|---|
[안드로이드] EditText 텍스트 변경시 이벤트 처리(TextWatcher) (0) | 2019.11.18 |
[안드로이드] TextView, EditText 폰트 변경 하기(font-family, fontStyle) (0) | 2019.11.15 |
[안드로이드] 여러 국가의 언어를 하나의 변수로 통합하기(strings.xml) (0) | 2019.11.14 |
[안드로이드] 프래그먼트 액션바 메뉴 만들기 (Fragment ActionBar Menu) (0) | 2019.11.13 |