본문 바로가기

안드로이드/코드

[안드로이드] 깜빡이는 텍스트 애니메이션 만들기(AlphaAnimation)

반응형

 

 

 

alpha1

 

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() - 애니메이션을 종료시킬 수 있습니다.

 

 

 

반응형