반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
안드로이드 다이얼로그를 열 때,
닫을 때 애니메이션 적용 방법입니다.
#1. anim 디렉토리에 open, close 시
적용할 애니메이션을 선언합니다.
저의 경우, 확대, 축소를 적용했습니다.
<!--expansion_dialog.xml-->
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<scale
android:duration="200"
android:fromXScale="0.2"
android:fromYScale="0.2"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.0"
android:toYScale="1.0"
/>
</set>
<!--reduction_dialog.xml-->
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<scale
android:duration="200"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.0"
android:toYScale="0.0" />
</set>
사용 시 주석은 제거하시고
<?xml ~~ 이 가장 첫줄에 선언되어야 합니다.
#2. styles.xml에 style 선언
<style name="style_expansion_dialog">
<item name="android:windowEnterAnimation">@anim/expansion_dialog</item>
<item name="android:windowExitAnimation">@anim/reduction_dialog</item>
</style>
#3. 애니메이션 실제 적용하기
다이얼로그의 onCreate() 에서
WindowManager.LayoutParams lpWindow = new WindowManager.LayoutParams();
//WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
lpWindow.windowAnimations = R.style.style_expansion_dialog;
getWindow().setAttributes(lpWindow);
선언하시면 됩니다.
위 네 줄 중에 두 줄은 원하시는대로 사용하시면 됩니다.
둘 중 한 줄로.
반응형