我想为28个不同的视图分配28个不同的旋转动画,并在活动开始时启动它们。动画应该都有随机的startOffset和Duration。 我已尝试使用此代码,但似乎所有动画都具有相同的值。
RotateAnimation rotate = new RotateAnimation(0.0f, 360.0f,
Animation.RELATIVE_TO_SELF, 0.9f, Animation.RELATIVE_TO_SELF, 0.5f);
ImageView imageView;
Random r = new Random();
int delayOffset = 0;
int rotationDuration = 200;
for (int i = 0; i < ids.length; i++) {
rotate.reset();
imageView = (ImageView) findViewById(ids[i]);
imageView.clearAnimation();
delayOffset = r.nextInt(500 - 0);
rotationDuration = r.nextInt(10000 - 200) + 200;
rotate.setStartOffset(delayOffset);
rotate.setDuration(rotationDuration);
imageView.startAnimation(rotate);
}
我做错了什么?
答案 0 :(得分:0)
您正在使用完全相同的动画实例,因此所有视图都以最新的值启动它。
你应该为每个视图创建一个全新的动画。