1

我需要在画布中绘制可移动位图,我需要通过 TransalteAnimation 中的矩阵移动它

我有这个代码:

float[] values = new float[9];  
TranslateAnimation slide = new TranslateAnimation(-100,100, 0, 0);
slide.setDuration(100);
slide.setRepeatCount(TranslateAnimation.INFINITE);
slide.setRepeatMode(TranslateAnimation.REVERSE);
slide.setFillAfter(true);
Transformation transform = new Transformation();
slide.start();
slide.getTransformation(AnimationUtils.currentAnimationTimeMillis(), transform);
            transform.getMatrix().getValues(values);

但它从未改变,值总是: [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]

我在哪里犯错?

它适用于任何其他类型的动画:RotateAnimation、AlphaAnimation 等。它不适用于 Translate Animation

4

1 回答 1

0

找到答案,需要打电话 slide.initialize(0, 0, 0, 0);

于 2012-07-18T11:54:31.750 回答