要实现Android上的无限动画,可以使用属性动画和动画监听器来实现动画循环。下面是一个示例代码:
首先,在XML布局文件中定义一个ImageView控件,用于显示动画:
然后,在Java代码中使用属性动画来实现无限循环的动画效果:
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private ImageView imageView;
private ObjectAnimator animator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageview);
// 创建属性动画,实现图片旋转
animator = ObjectAnimator.ofFloat(imageView, View.ROTATION, 0f, 360f);
animator.setDuration(1000); // 设置动画时长
animator.setRepeatCount(ObjectAnimator.INFINITE); // 设置重复次数为无限循环
animator.setInterpolator(new LinearInterpolator()); // 设置插值器,使动画匀速播放
// 添加动画监听器,用于监听动画的开始和结束事件
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
// 动画结束时重新开始动画
animator.start();
}
});
// 开始动画
animator.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
// 在Activity销毁时停止动画
animator.cancel();
}
}
此示例中的动画是一个图片旋转的示例,你可以根据需要修改动画效果和控件类型。