动画图像大小

时间:2016-07-17 17:50:30

标签: android image

我想根据音乐制作一个“凹凸”(或改变其大小)的图像。我不需要音乐检测方面,我只需要一种方法来动态调整图像大小并根据动画。这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:1)

每个View都有setScaleXsetScaleY种方法。我相信你可以用它。至于将它与音乐同步,这取决于你演奏它的方式。

答案 1 :(得分:1)

答案 2 :(得分:1)

如果您至少使用API​​ 11并希望平滑地制作动画,则可以使用ObjectAnimator动画对View属性的各种更改。例如:

ObjectAnimator oa = ObjectAnimator.ofFloat(myView, View.SCALE_X, 1.0, 1.25);
oa.setDuration(25); //how long the animation lasts in ms, probably short for your purposes
oa.start();

这会将视图myView的X大小从默认值(1.0)缩放到稍大(1.25)。然后,您需要对SCALE_Y属性执行相同操作。请注意,您可能希望跟踪当前比例值,以便下一个动画看起来不错。例如:

float currentScale = 1.0;
...
void scaleMyView(float newScale) {
    ObjectAnimator oa = ObjectAnimator.ofFloat(myView, View.SCALE_X, currentScale, newScale);
    oa.setDuration(25);
    oa.start();
    currentScale = newScale;
}

如果您需要更多信息,请参阅ObjectAnimators上的文档。希望这有帮助!