android中心点旋转晃动_Android中使用抖动动画吸引来用户注意
时间: 2024-01-21 14:17:17 浏览: 141
Android抖动动画
在Android中,可以使用属性动画来实现抖动动画吸引用户的注意力。以下是一个简单的示例代码:
```java
// 获取需要抖动的视图
View view = findViewById(R.id.my_view);
// 定义抖动动画
ObjectAnimator animator = ObjectAnimator.ofFloat(view, "rotation", -5, 5);
animator.setDuration(100);
animator.setRepeatCount(5);
animator.setRepeatMode(ObjectAnimator.REVERSE);
// 开始动画
animator.start();
```
这个代码会使得视图向左旋转5度,然后向右旋转5度,重复执行5次,每次执行时间为100毫秒。通过这个抖动动画,可以吸引用户的注意力。
如果想要实现中心点旋转的效果,可以在抖动动画的基础上加入平移动画,使得视图围绕中心点旋转。以下是一个修改后的示例代码:
```java
// 获取需要旋转的视图
View view = findViewById(R.id.my_view);
// 获取视图的中心点坐标
int cx = view.getWidth() / 2;
int cy = view.getHeight() / 2;
// 定义旋转动画
ObjectAnimator rotation = ObjectAnimator.ofFloat(view, "rotation", 0, 360);
rotation.setDuration(2000);
rotation.setInterpolator(new LinearInterpolator());
rotation.setRepeatCount(ObjectAnimator.INFINITE);
// 定义平移动画
ObjectAnimator translationX = ObjectAnimator.ofFloat(view, "translationX", 0, cx);
translationX.setDuration(1000);
translationX.setRepeatCount(1);
translationX.setRepeatMode(ObjectAnimator.REVERSE);
// 合并动画
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(rotation, translationX);
// 开始动画
animatorSet.start();
```
这个代码会使得视图围绕中心点旋转,并且在动画过程中会进行一次平移,使得视图的中心点在旋转过程中保持不变。通过这个中心点旋转的效果,可以吸引用户的注意力。
阅读全文