android dialog动画 TranslateAnimation
时间: 2023-06-30 10:10:45 浏览: 108
Android 中可以使用 `TranslateAnimation` 类来为 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();
// 设置位移动画
TranslateAnimation animation = new TranslateAnimation(0, 0, 500, 0);
animation.setDuration(500);
dialog.findViewById(R.id.dialog_content).startAnimation(animation);
```
在这个例子中,我们为 Dialog 设置了一个弹出动画,然后使用 `TranslateAnimation` 类来为 Dialog 中的某个 View 设置位移动画。在这个例子中,我们将 Dialog 中的一个 View 向上移动了 500 像素。
如果你想让 View 向下移动,可以将 y 轴的起始值设置为负数,结束值设置为 0:
```java
TranslateAnimation animation = new TranslateAnimation(0, 0, -500, 0);
```
你也可以设置动画的持续时间、重复次数、插值器等等。例如,你可以在动画结束后让 View 保持在动画结束的位置:
```java
animation.setFillAfter(true);
```
这样,View 就会在动画结束后停留在最终位置,而不是回到起始位置。
阅读全文