我有以下动画飞入我的 ListView 中的项目:
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="500"
android:fromYDelta="100%p"
android:toYDelta="0" />
<alpha
android:duration="500"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
并通过在我的适配器中的 getView() 末尾使用以下命令来启动它:
Animation animation = AnimationUtils.loadAnimation(
MainActivity.myContext, R.anim.push_up_in);
vi.startAnimation(animation);
animation = null;
它的作用:在应用程序开始时,它会飞入将立即在一个块中可见的项目。通过滚动每个新项目分别飞入。
我想要什么:每个项目都应在应用程序开始时单独飞入- 就像它通过滚动发生一样。
我尝试了什么:根据 Item-Position 设置 AnimationDuration:
if (position < 6){
animation.setDuration(500 * position);
} else {
animation.setDuration(100*position); //Because it get's too slow by staying with 500 * position
}
这或多或少有效 - 但当屏幕可以容纳超过 6 个我假设的项目时,它并不流畅并且看起来也很奇怪。
有没有一种简单的方法可以让每个项目更流畅地飞入?
提前致谢!