1

我有一个列表视图,并且我已经实现了一个扩展的适配器,ArrayAdapter
我已经覆盖了getView()实现自定义视图的方法。

我正在尝试对 List 元素的渲染进行动画处理,以赋予它们滑动效果,从而使行看起来一个接一个地滑动...
我尝试使用以下代码对其进行动画处理:

Animation animation = AnimationUtils.loadAnimation(myActivity, R.anim.slide_in_left); animation.setDuration(duration);
if(myActivity.flinging) duration+=50;
rowView.startAnimation(animation);

这确实为行设置了动画,但动画并不流畅。
有没有办法做到这一点?我正在考虑这样做的另一种方法是延迟对 getView() 的调用,但找不到这样做的方法。

有谁知道如何实现这一目标?

4

1 回答 1

0

您应该使用 LayoutAnimationController 为列表视图项提供动画。

    AnimationSet set = new AnimationSet(true);
    Animation animation1 = AnimationUtils.loadAnimation(this, R.anim.slide_in_left);
    animation1.setDuration(300);
    set.addAnimation(animation1);
    LayoutAnimationController controller = new LayoutAnimationController(set,1.0f);

    mListView.setLayoutAnimation(controller);

作为参考,您可以检查此文件。

示例参考

于 2013-04-18T02:35:27.737 回答