我想根据音乐制作一个“凹凸”(或改变其大小)的图像。我不需要音乐检测方面,我只需要一种方法来动态调整图像大小并根据动画。这样做的最佳方式是什么?
答案 0 :(得分:1)
每个View
都有setScaleX
和setScaleY
种方法。我相信你可以用它。至于将它与音乐同步,这取决于你演奏它的方式。
答案 1 :(得分:1)
有Android的greate动画库
https://github.com/daimajia/AndroidViewAnimations
https://github.com/2359media/EasyAndroidAnimations
答案 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
上的文档。希望这有帮助!