0

我正在为 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 Animations 中那样流畅地工作。他们是否使用任何外部库。

4

1 回答 1

1

问题在于插值器,您的工作分两个不同的步骤完成

所以,最好你一步合并它们或使用线性插值器,这样执行之间就不会停止

于 2014-12-17T04:18:49.467 回答