View에 애니메이션 효과를 주는 방법으로, 개인적으로 Custom Dialog가 나타날 때 애니메이션 효과를 사용했습니다.
먼저 animation xml 파일을 생성해서 res/anim 폴더에 넣어주어야 합니다.
riseup.xml 파일
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" > <translate android:fromYDelta="50%p" android:toYDelta="0" android:duration="150" /> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="150" /> </set>
dropdown.xml 파일
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" > <translate android:fromYDelta="-50%p" android:toYDelta="0" android:duration="150" /> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="150" /> </set>
실제 JAVA 코드 상에서 적용은 아래와 같이 하면 됩니다.
//LayoutInflater 선언 LayoutInflater inflater = ((LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE)); //메뉴 레이아웃 XML 파일 불러와 View 선언 zoomDialogView = inflater.inflate(R.layout.zoom_layout, null); zoomDialog.addContentView(zoomDialogView, new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); zoomDialog.setCanceledOnTouchOutside(true); //외부 터치하면 닫기 //애니메이션 적용 Animation anim = AnimationUtils.loadAnimation(Main, R.anim.riseup); zoomDialogView.startAnimation(anim); zoomDialog.show();
애니메이션 속성에 대한 보다 자세한 내용은 아래 링크를 참고하면 좋습니다.
http://blog.daum.net/hopefullife/98