下面演示的是一个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>