我想创建一个自定义类,每次视图可见时都会旋转。
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方法中启动动画,我的自定义视图也不会被旋转。 (但图像已设定)。
有什么问题?
答案 0 :(得分:1)
我认为您需要为动画设置持续时间:
rotateAnimation.setDuration(1000);