6
値アニメーターを使用して3つのイメージを1つずつアニメーションしようとしていますが、一定間隔で3つのハンドラーを呼び出す方法を決めることができません.3つのイメージがあり、 them.Butは、私はこれは私がこれは私のハンドラから値アニメーターandroid
public void startAnimation_image(final ImageView aniView) {
animator = ValueAnimator.ofFloat(0, .8f);
animator.setDuration(Constants.ANIM_DURATION);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
int Low = 10;
int High = width-150;
int R = (int) ((Math.random() * (High - Low)) + Low);
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float value = ((Float) (animation.getAnimatedValue())).floatValue();
aniView.setTranslationX(R);
Log.e("mscale",150*mScale +"");
Log.e("value is", value+"");
aniView.setTranslationY((mDisplaySize.bottom + (150*mScale))*value);
x_point = aniView.getTranslationX();
y_point = aniView.getTranslationY();
}
});
animator.addListener(new AnimatorListener() {
@Override
public void onAnimationStart(Animator arg0) {
}
@Override
public void onAnimationRepeat(Animator arg0) {
}
@Override
public void onAnimationEnd(Animator arg0) {
startAnimation();
}
@Override
public void onAnimationCancel(Animator arg0) {
}
});
animator.start();
}
を呼び出しています私のUpdateListenerで定期intervals.Pleaseヘルプで
一度に三つの画像をもたらすことができていなく次々私のハンドラーの1人
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
//int viewId = new Random().nextInt(STARS.length);
id = getApplicationContext().getResources().getIdentifier(STARS[0], "drawable",
getApplicationContext().getPackageName());
inflate = LayoutInflater.from(StarsActivity2.this);
img[0].setVisibility(ImageView.VISIBLE);
img[0].setImageResource(id);
mAllImageViews.add(img[0]);
LayoutParams animationLayout = (LayoutParams) img[0].getLayoutParams();
img[0].setLayoutParams(animationLayout);
Log.e("mHandler",img[0]+ "");
startAnimation_image(img[0]);
}
};
similaarly 3つのハンドラと3人の更新リスナーがあなたは、期間ANIM_DURATION
との三つの画像のためにそう
animation.setStartOffset(offset);
を呼び出すことによってoffset
MSにてごアニメーションを遅らせることができます...
ありがとう – XylemRaj