我需要在“Catch notes”应用程序中创建一个动画。我指的动画是当你按下列表中的一个对象时,它上面的所有对象都会上升,而它下面的所有对象都会下降,所有这些都带有动画。
我在想通过使用常规列表视图是不可能的。所以也许这样做的方法只是以某种方式手动放置对象?
有更好的想法吗?谢谢!
获取所有可见项目(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();
}
}