我正在使用动画来点击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动画中那样平滑地工作。他们使用任何外部库吗?
答案 0 :(得分:1)
问题在于内插器,你的工作分两个步骤完成
因此,最好将它们合并为一步或使用线性插值器,以便在执行之间不会停止