Android ListView Fly-In动画

时间:2013-09-05 22:18:27

标签: android listview animation android-listview android-animation

我有跟随动画来飞入我的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;  


  它的作用:在应用程序开始时,它会立即显示在一个块中可见的项目。 通过滚动每个新项目单独飞行。

我想要的是什么:每个项目都应该在应用程序开始时单独 > - 就像通过滚动一样。

我尝试了什么:根据项目位置设置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个我认为的项目时,它看起来并不流畅,也看起来很奇怪。

是否有一种简单的方法可以让每件物品更加流畅? 提前谢谢!

1 个答案:

答案 0 :(得分:5)

我建议你试试这个漂亮的库: ListViewAnimations

“ViewAnimations是一个开源Android库,允许开发人员轻松创建带有动画的ListView。如果您引用此项目并在您的应用中包含许可,请随意在Android应用中使用它。 haarman.niek [at] gmail.com关于你的应用程序使用这个库非常欢迎!用“

开始你的消息标题

https://github.com/nhaarman/ListViewAnimations