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 アニメーションのようにスムーズに動作しないのはなぜですか? 外部ライブラリを使用していますか。

4

1 に答える 1

1

問題は interpolator にあり、あなたの仕事は2つの異なるステップで行われます

したがって、両方を1つのステップでマージするか、線形補間を使用して、実行間に停止がないようにすることをお勧めします

于 2014-12-17T04:18:49.467 に答える