Android ScaleAnimation

时间:2009-10-26 08:51:11

标签: android animation

我希望每次点击都使用ScaleAnimation来增加视图。在完成fillAfter之后我已经管理了动画的效果,但现在的问题是,动画始终从状态0开始(因为视图在XML中定义) - 点击视图重置并动画回来到了第一个动画之后的状态。

动画以XML格式定义:

<scale 
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
  android:fromXScale="1" 
  android:toXScale="1.5" 
  android:fromYScale="1" 
  android:toYScale="1.5" 
  android:pivotX="50%" 
  android:pivotY="50%" 
  android:duration="1000" 
  android:fillAfter="true" 
/>

2 个答案:

答案 0 :(得分:26)

我解决了这个问题,没有采用XML中定义的动画,而是采用

anim = new ScaleAnimation(from, to, from, to, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

每次我需要扩展它时调整/到。我不太确定这对性能有好处,但效果很好。

答案 1 :(得分:1)

动画的确切定义是什么?

使用Java代码定义ScaleAnimation时,您可以设置fromX / fromY(look here)开始缩放因子,因此我假设您可以对XML属性执行相同的操作。