安卓圆点呼吸动画
时间: 2023-08-23 18:11:31 浏览: 52
安卓圆点呼吸动画可以使用属性动画实现,具体步骤如下:
1. 在布局文件中添加一个圆点视图:
```xml
<View
android:id="@+id/dot"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerInParent="true"
android:background="@drawable/dot_bg"
/>
```
其中 `@drawable/dot_bg` 是圆点的背景样式,可以自定义。
2. 在代码中使用属性动画实现圆点大小和透明度的变化:
```java
// 获取圆点视图
View dotView = findViewById(R.id.dot);
// 创建属性动画对象,设置动画属性为 scaleX、scaleY、alpha
ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(
dotView,
PropertyValuesHolder.ofFloat("scaleX", 1.0f, 1.3f, 1.0f),
PropertyValuesHolder.ofFloat("scaleY", 1.0f, 1.3f, 1.0f),
PropertyValuesHolder.ofFloat("alpha", 1.0f, 0.3f, 1.0f)
);
// 设置动画时长和重复次数
animator.setDuration(1500);
animator.setRepeatCount(ValueAnimator.INFINITE);
// 开始动画
animator.start();
```
3. 创建自定义的圆点背景样式 `dot_bg.xml`,实现圆点变大和透明度降低的效果:
```xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="20dp"
android:height="20dp" />
<solid
android:color="@color/colorAccent" />
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.3"
android:duration="1500"
android:repeatCount="infinite"
android:repeatMode="reverse" />
<scale
android:fromXScale="1.0"
android:toXScale="1.3"
android:fromYScale="1.0"
android:toYScale="1.3"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1500"
android:repeatCount="infinite"
android:repeatMode="reverse" />
</shape>
```
其中 `alpha` 和 `scale` 标签分别实现了透明度和大小的变化效果,`duration` 表示动画时长,`repeatCount` 表示重复次数,`repeatMode` 表示重复模式。
运行程序即可看到圆点呼吸动画效果。