Android Study

Android Study(애니메이션)

Box Maker 2023. 4. 10. 21:46

1. Animation

앱을 개발할 때 시각적으로 더 재밌고 예쁘게 개발하기 위해서 안드로이드는 애니메이션 기능을 제공한다.

 

여러가지 애니메이션들이 있지만 이 글에서는 object animator를 다뤄보겠습니다.

 

1) ObjectAnimator

  • 하나의 뷰에서 간단한 애니메이션을 이용하고자 하지만 반복적으로 동작하기를 바란다면, ObjectAnimator를 사용하면 된다.
  • ObjectAnimator의 특별한 기능이라고 한다면 XML을 이용하여 애니메이션을 만들 수 있는 장점이 있다.

 

shake_animations.xml

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"

    android:duration="150"
    android:fromDegrees="-10"
    android:pivotX="30%"
    android:pivotY="30%"
    android:repeatCount="1"
    android:repeatMode="reverse"
    android:toDegrees="10"
    />
  • 위와 같이 애니메이션 액션을 설정한다.

 

MainActivity.java

private void shakeAnimation() {
        Animation shake = AnimationUtils.loadAnimation(MainActivity.this,
                R.anim.shake_animation);

        binding.cardView.setAnimation(shake);

        shake.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
                binding.questionTextview.setTextColor(Color.RED);
            }

            @Override
            public void onAnimationEnd(Animation animation) {
                binding.questionTextview.setTextColor(Color.WHITE);

            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });
    }
  • shakeAnimator 메소드를 생성한다.
  • shake_animation.xml파일을 해당 파일로 shake라는 변수에 가져온다.
  • cardView위젯에 해당 애니메이션을 적용시킨다.
  • 애니메이션의 액션으로 빨간색으로 시작하여 하얀색으로 글자색이 바뀌도록 한다.
  • 반복적인 액션으로 앱화면에서는 글자색이 빨간색에서 하얀색으로 깜빡거리게 보인다.