android dialog动画 代码设置动画
时间: 2023-08-07 07:06:40 浏览: 101
在 Android 中,你可以通过代码来设置 Dialog 的动画。下面是一个设置 Dialog 弹出动画的例子:
```java
Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.custom_dialog_layout);
Window window = dialog.getWindow();
window.setGravity(Gravity.CENTER);
window.setWindowAnimations(R.style.DialogAnimation); // 设置动画
dialog.show();
```
其中,`setWindowAnimations()` 是用来设置动画的方法,参数是一个样式资源 ID。这个样式资源 ID 可以指向一个在 `res/anim` 目录下的动画 xml 文件,用来定义 Dialog 的动画效果。
例如,你可以在 `res/anim` 目录下创建一个名为 `dialog_animation.xml` 的文件,用来定义 Dialog 的动画效果。这个文件的内容可以是这样的:
```xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:fromXScale="0.0" android:toXScale="1.0"
android:fromYScale="0.0" android:toYScale="1.0"
android:pivotX="50%" android:pivotY="50%"
android:duration="500" />
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="500" />
</set>
```
这个动画文件中定义了一个缩放和渐变的效果,持续时间为 500 毫秒。
在使用 Dialog 时,你可以将这个动画文件的 ID 传给 `setWindowAnimations()` 方法,来设置 Dialog 的动画效果:
```java
window.setWindowAnimations(R.anim.dialog_animation);
```
这样就可以为 Dialog 设置一个弹出动画了。
阅读全文