0

我需要在“Catch notes”应用程序中创建一个动画。我指的动画是当你按下列表中的一个对象时,它上面的所有对象都会上升,而它下面的所有对象都会下降,所有这些都带有动画。

我在想通过使用常规列表视图是不可能的。所以也许这样做的方法只是以某种方式手动放置对象?

有更好的想法吗?谢谢!

4

1 回答 1

2

获取所有可见项目(listView.getFirstVisiblePosition() 到 getLastVisiblePosition())并使用 listView.getChildAt(index) 获取视图。然后,您可以使用 ObjectAnimator 或类似工具对视图上方和下方的所有视图进行动画处理。

例子:

for (int i = listView.getFirstVisiblePosition(); i < myListAdapter.getCount() && i <=    listView.getLastVisiblePosition(); i++) {
  View v = listView.getChildAt(i - listView.getFirstVisiblePosition());
  ListItem listItem = myListAdapter.getListItem(i);
  if (v != null) {
    ObjectAnimator.ofFloat(v, "translationY", 0, -screenHeight).start();
  }
}
于 2012-11-08T08:39:50.440 回答