Android 项目写一个view上移到另一个view的动画
时间: 2024-01-21 11:19:38 浏览: 26
可以使用 Android 的 `ObjectAnimator` 和 `AnimatorSet` 来实现一个 view 上移到另一个 view 的动画。
首先,你需要获取这两个 view 的位置信息,可以使用 `View.getLocationOnScreen()` 方法获取它们在屏幕上的坐标。然后,通过计算它们的差值,来确定移动的距离和方向。
接下来,创建一个 `ObjectAnimator` 对象,设置属性为 `translationY`,并指定移动的距离。然后,创建一个 `AnimatorSet` 对象,将 `ObjectAnimator` 添加到其中,并设置动画的持续时间、插值器等属性。最后,调用 `AnimatorSet.start()` 方法启动动画。
示例代码如下:
```java
View view1 = findViewById(R.id.view1);
View view2 = findViewById(R.id.view2);
int[] location1 = new int[2];
view1.getLocationOnScreen(location1);
int[] location2 = new int[2];
view2.getLocationOnScreen(location2);
int distance = location1[1] - location2[1];
ObjectAnimator animator = ObjectAnimator.ofFloat(view1, "translationY", -distance);
animator.setDuration(1000);
animator.setInterpolator(new AccelerateDecelerateInterpolator());
AnimatorSet set = new AnimatorSet();
set.play(animator);
set.start();
```
注意,上面的代码中只是一个简单的示例,你需要根据实际情况进行适当的修改。