android 用属性动画实现电话抖动动画
时间: 2023-06-25 22:05:09 浏览: 72
可以通过使用属性动画库中的`ObjectAnimator`来实现电话抖动动画。以下是一个简单的实现示例:
1. 首先,在res目录下创建一个`anim`文件夹,然后创建一个`shake.xml`文件,用于定义抖动动画:
```xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/cycle_interpolator">
<translate
android:fromXDelta="-10%"
android:toXDelta="10%"
android:duration="100"/>
</set>
```
2. 在需要执行抖动动画的View上,使用`ObjectAnimator`来设置动画:
```java
ObjectAnimator animator = ObjectAnimator.ofFloat(view, "translationX", 0f);
animator.setRepeatCount(5);
animator.setDuration(100);
animator.setInterpolator(new CycleInterpolator(1));
animator.setStartDelay(500);
animator.start();
```
这段代码将会在View上执行一个沿X轴平移的动画,动画的起始位置为-10%的宽度,结束位置为10%的宽度,每次重复播放时动画都会回到原始位置,重复播放的次数为5次,每次播放的时长为100ms,动画的插值器使用了一个周期性的插值器,开始播放的延迟时间为500ms。
这样,当调用`animator.start()`方法时,就会执行一个电话抖动动画。