안드로이드 애니메이션 효과 (투명 Animation)
▣ 안드로이드 애니메이션 1 (투명) |
■ 안드로이드에서 구현할 수 있는 Animation은 여러가지 종류가 있는데요. 이벤 포스팅에서는 투명 애니메이션을 구현해 보겠습니다. 쉽게 생각하면 처음에는 전혀 보이지 않다가 일정한 시간이 흐르면서 천천히 모습을 나타나게 하는 것입니다. 반대로 선명하게 보이다가 점점 흐려지면서 사라지게도 할 수 있습니다.
간단한 예제를 만들면서 해보겠습니다.
■ 테스트 할 이미지( test.png)를 준비해서 "drawable"폴더에 넣고, "activity_main.xml"파일에 이미지뷰 하나를 중앙에 배치하고, 준비한 이미지 적용시키고, 아이디를 "test"로 설정을 했습니다. "gen폴더"에 아이디가 제대로 생성이 된걸 확인하고 넘어가겠습니다.이 아이디는 MainActivity.java 파일에서 불러와서 사용하게 될것입니다.
■ 이제 애니메이션 관련 파일을 만들텐데요. 안드로이드에서는 Animation에 관련된 파일은 "res/anim" 폴더에 생성해야 자동으로 인식을 하게 됩니다. 때문에 res폴더에 정확하게 "anim"폴더를 만들어서 파일을 작성해야 합니다.
■ 이 폴더 안에 투명 애니메이션 관련 파일 "alpha.xml"을 작성하도록 하겠습니다. 그림처럼 anim폴더를 선택한 상태에서 [New ▶ android XML File]을 선택합니다.
■ 선택을 하면 다음과 같은 창이 나타나게 되는데요. 여기서 Root Element 의 [alpha]를 선택하고 파일 이름을 "alpha" 입력합니다.
■ 다음과 같이 <alpha>태그가 자동으로 생성이 됩니다. 이 안에 투명애니메이션을 설정하는 내용을 작성해보겠습니다.
■ 파일의 내용을 살펴보면 xmlns를 지정하고, interpolator를 안드로이드의 기본값으로 지정하고 있습니다. 투명도를 전혀 보이지 않는 "0.0"에서 완전 불투명값인 "1.0"으로 변하게 하고 있습니다. 즉, 전혀 보이지 않다가 천천히 모습이 나타나게 됩니다. 마지막의 duration은 애니메이션이 진행되는 시간(밀리초) 입니다. 5초동안 천천히 나타나게 되는 것입니다.
■ 파일이 제대로 작성이 컴파일이 되면 다음과 같이[ R.anim.alpha]가 자동으로 생성이 됩니다. 이파일을 MainActivity.java에서 호출하게 될것입니다.
■ 이제 메인 액티비티 파일에서 준비한것들을 실행시킬 내용을 작성하도록 하겠습니다.
■ activity_main.xml파일에서 배치했던 이미지뷰를 "Id"로 찾아오고, "AnimationUtils.loadAnimation()"메서드를 이용해서 애니메이션 파일을 불러와서 "alphaAnim"객체에 담고," startAnimation(")메서드를 이용해서 적용시키고 있는 내용입니다.
■ AVD에서 실행을 해봤는데요.
■ 위에서 진행 시간을 5초로 설정을 했었는데요. 너무 빨라서 10초 동안 진행되도록 설정을 해서 실행시켜본 화면입니다.