반응형
이와 같은 깜빡이는 애니메이션을 가진 텍스트뷰를 만드는 법에 대해 알아보도록 하겠습니다.
이런 깜빡이는 애니메이션을 사용할 때 어떤 코드를 사용하는지 보도록 하자면
<MainActivity.java>
이와 같은 코드로 간단히 작성할 수 있습니다.
animation = new AlphaAnimation(0.0f, 1.0f);
깜빡거릴때 투명도를 설정하는 클래스입니다. 괄호안에 들어있는 실수 값은 투명도의 범위를 의미하며 범위 값은 0.0부터 1.0까지 입니다.
animation.setDuration(100);
깜빡이는 애니메이션이 지속되는 시간을 의미합니다.
단위는 millisecond로 1000에 1초이며, 여기서는 0.1초를 의미합니다.
animation.setStartOffset(10);
시작 시간을 기준으로 깜빡이는 애니메이션을 시작하는 시간입니다.
즉, 다음 애니메이션까지 딜레이 시간이라 보면 이해하기 좋을 것 같습니다.
animation.setRepeatCount(Animation.INFINITE);
애니메이션을 반복하는 횟수를 지정하는 것입니다.
animation.setRepeatMode(Animation.REVERSE);
애니메이션이 끝에 달았을 때 수행할 작업을 정의합니다.
이렇게 animation을 지정하고 textView.startAnimation(animation);을 통해 textView에 애니메이션을 지정하면 깜빡이는 텍스트뷰가 만들어지게 됩니다.
또한 textView.clearAnimation(); 으로 상황에 따른 textView의 깜빡이는 애니메이션을 종료할 수 있습니다.
깜빡이는 애니메이션으로 시한 폭탄 만들기
위와 같은 내용을 바탕으로 countDownTimer와 Animation을 이용하여 시한 폭탄을 만들 수 있습니다.
button_bomb_random.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int random = (int) (Math.random()*bombTexts.length);
textView_bomb_random_text .setText(bombTexts[random]);
int randomTime_Num = (int) (Math.random()*randomTime.length);
countDownTimer = new CountDownTimer(randomTime[randomTime_Num], 1000) {
@Override
public void onTick(long l) {
textView_bomb.setText((l / 1000)/60 + "분" + (l / 1000)%60 + "초");
if(l <= 15000){
textView_bomb.startAnimation(anim);
}
}
@Override
public void onFinish() {
textView_bomb.setText("시간 종료");
button_bomb_random.setEnabled(true);
vibrator.vibrate(2500);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
textView_bomb.clearAnimation();
}
},2500);
}
};
countDownTimer.start();
}
});
anim = new AlphaAnimation(0.0f, 1.0f);
anim.setDuration(150);
anim.setStartOffset(20);
anim.setRepeatCount(Animation.INFINITE);
button_bomb_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
});
이렇게 15초 남았을 때 부터 폭탄이 곧 터질 것이라는 경고를 주기 위해 남은 시간이 깜빡거리는 코드를 이렇게 만들 수 있습니다.
반응형
'안드로이드 스튜디오 앱 개발 > 실제 앱 개발 과정' 카테고리의 다른 글
[Android Studio] 내 휴대폰 단말기로 제작한 애플리케이션(APP) 실행해서 검토하기 (0) | 2023.07.13 |
---|---|
[Android Studio] 탭 레이아웃(TabLayout)으로 프래그먼트 화면전환하기 (0) | 2023.07.13 |
[Android Studio] 액티비티 전환 시 예약된 진동(스케줄러 취소하기)취소하기 (0) | 2023.07.11 |
[Android Studio] 안드로이드 스튜디오 어댑터(Adapter)에 int형 값을 addItem 하는 방법과 예제 알아보기 (0) | 2023.07.03 |
[Android Studio] 아이템 값 중복검사 for 문을 이용하여 쉽게 하는 방법 알아보기 (0) | 2023.07.02 |