为什么我的应用程序中的android动画不如goLauncher动画那么流畅?

时间:2013-09-10 12:22:41

标签: android animation

我正在使用动画来点击GridView。 我的动画文件是expand_then_contract.xml,如下所示

<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <scale
        android:duration="500"
        android:fromXScale="1"
        android:fromYScale="1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.1"
        android:toYScale="1.1" />
    <scale
        android:duration="500"
        android:fromXScale="1.1"
        android:fromYScale="1.1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="500"
        android:toXScale="1"
        android:toYScale="1" />

</set>

我将它应用于GridView的onItemClickListener,如下所示

onItemClick(... View view ..)
{
Animation expand_contract = AnimationUtils.loadAnimation(this,
                R.anim.expand_then_contract);
        view.bringToFront();
        view.clearAnimation();
        view.setAnimation(expand_contract);
        view.startAnimation(expand_contract);
}

它按预期工作。但它介于两者之间。在它收缩回正常位置的某个时刻,它会冻结一会儿。为什么会这样呢?为什么我的代码中的动画不能像在GoLauncher动画中那样平滑地工作。他们使用任何外部库吗?

1 个答案:

答案 0 :(得分:1)

问题在于内插器,你的工作分两个步骤完成

因此,最好将它们合并为一步或使用线性插值器,以便在执行之间不会停止