下面示範的是一個AlertDialog的彈性進場出場對話框:
1、邏輯代碼:
dialog = new AlertDialog.Builder(this).create();
dialog.show();
final Window win = dialog.getWindow();
win.setWindowAnimations(R.style.dialogWindowAnim);
WindowManager winManager = getWindowManager();
Display display = winManager.getDefaultDisplay();
WindowManager.LayoutParams params = win.getAttributes();
2、style檔案代碼:
<style name="dialogWindowAnim" parent="android:Animation" mce_bogus="1">
<item name="android:windowEnterAnimation">@anim/dialog_enter_anim</item>
<item name="android:windowExitAnimation">@anim/dialog_exit_anim</item>
</style>
3、anim檔案夾下内容:
進入動畫
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="100"
android:fromXDelta="0"
android:fromYDelta="1000"
android:toXDelta="0"
android:toYDelta="0" >
</translate>
出去動畫
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="0"
android:toYDelta="1000" >
</translate>