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