Android简单动画无效

时间:2015-04-12 10:08:19

标签: android animation rotation imageview

我想创建一个自定义类,每次视图可见时都会旋转。

public class SpinningLoadingView extends ImageView {

public SpinningLoadingView(Context context) {
    super(context);
    if (!isInEditMode()) initialize();
}
private void initialize() {
    setImageResource(R.drawable.ic_loading);
    post(new Runnable() {
        @Override
        public void run() {
            RotateAnimation rotateAnimation = new RotateAnimation(0, 360,
                    Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
            rotateAnimation.setRepeatCount(Animation.INFINITE);
            rotateAnimation.setRepeatMode(Animation.RESTART);
            SpinningLoadingView.this.startAnimation(rotateAnimation);
        }
    });
}
public SpinningLoadingView(Context context, AttributeSet attrs) {
    super(context, attrs);
    if (!isInEditMode()) initialize();
}

}

即使我删除了te runnable并发布并在initialize方法中启动动画,我的自定义视图也不会被旋转。 (但图像已设定)。

有什么问题?

1 个答案:

答案 0 :(得分:1)

我认为您需要为动画设置持续时间:

rotateAnimation.setDuration(1000);