圆形比例动画

时间:2015-08-06 19:27:32

标签: android animation android-animation material-design

我正在尝试制作一个可以在这样的视图上缩放的动画:

Curved animation

目前我正在使用从xml加载的缩放动画:

这实际上是这样的:

Square like scale animation

它更像一个正方形。

我之前使用过具有属性的ObjectAnimator / ValueAnimator。

某些设备在测量缩放高度方面存在特定问题,因此我恢复使用xml定义。

有没有人知道如何实现上述目标?

1 个答案:

答案 0 :(得分:2)

您必须以编程方式定义ScaleAnimation

首先获得圆圈的半径(ImageView)在第一个位置(开始Animation之前)。 对于获得半径,您可以获得imageview的宽度,然后除以2。

第二,你必须得到广场的宽度和高度。

第三个做到了:  anim_to = (width_square + height_Square) / radius_circle;

最终设置" anim_to"您的ScaleAnimation并开始这样的动画:

ScaleAnimation my_reveal = new ScaleAnimation(1,anim_to, 1,anim_to, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
my_reveal.setInterpolator(new DecelerateInterpolator());
my_reveal.setDuration(500);
my_circle.startAnimation(my_reveal);

对不起我的坏ENG;)