我正在尝试制作一个可以在这样的视图上缩放的动画:
目前我正在使用从xml加载的缩放动画:
这实际上是这样的:
它更像一个正方形。
我之前使用过具有属性的ObjectAnimator / ValueAnimator。
某些设备在测量缩放高度方面存在特定问题,因此我恢复使用xml定义。
有没有人知道如何实现上述目标?
答案 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;)