使用屏幕中间的ScaleAnimation缩放图像

时间:2012-03-19 12:06:35

标签: android android-animation

我在屏幕的Center_Horizo​​ntal和Center_Vertical中有一个imageView。 我想对此图像进行放大,并且缩放的图像仍保留在屏幕的中间位置。

问题是ScaleAnimation会使图像从左上角变得越来越高,因此我的图像不会出现在屏幕中间。

我在ScaleAnimation中使用了XPivot和yPivot,但我不明白它们的用途。

我的目标是从图像中间而不是从左角放大图像。

我希望我的问题是可以理解的。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

枢轴值确定ScaleAnimation将发生的中心点。假设您的图像在视图中居中,您可以使用以下内容:

ScaleAnimation sa = new ScaleAnimation(1, 2, 1, 2
                                       , Animation.ABSOLUTE
                                       , getWidth()/2
                                       , Animation.ABSOLUTE
                                       , getHeight()/2
                                       );

枢轴值将设置为物理显示的中心。您可以使用不同的数据透视类型值,例如RELATIVE_TO_PARENT(如果适用于您的应用程序)。