平滑删除自定义列表视图中的项目

时间:2012-12-23 14:46:38

标签: android android-listview android-animation

我希望能够以类似于API演示中的layoutAnimations演示所示的方式,从列表视图中移除项目,以便为移除的项目及其下方的项目设置动画。

例如:

enter image description here

在这里,我希望删除第1项。第一个动画将平滑地将项目1移动到右侧,完成后将平滑地动画此项目下方的所有项目(包括更多项目,如果存在)到项目的空白区域1使用。

第一部动画非常简单:

final TranslateAnimation animation = new TranslateAnimation(TranslateAnimation.RELATIVE_TO_SELF, 0.0f,
        TranslateAnimation.RELATIVE_TO_SELF, 1.0f, TranslateAnimation.RELATIVE_TO_SELF, 0.0f,
        TranslateAnimation.RELATIVE_TO_SELF, 0.0f);
animation.setDuration(500);
view.startAnimation(animation);

但是我如何实现其他项目的实际效果呢?我实际上使用了一个回收其项目的listView?

在我提到的演示中,他们甚至不使用listView。在我的情况下,由于我有很多项目,所以很有问题。

我也注意到similar post about this问题,但我发现的只是你需要修改listView代码,但没有真正的解决方案。

顺便说一下,最小sdk是9。

1 个答案:

答案 0 :(得分:0)

我发现了一个很好的样本几乎完全符合我的要求,但遗憾的是它需要API 12才能运行,而且我已经成功地让它以某种方式崩溃。

可以找到样本here

the website还有其他很好的示例和很酷的用户界面视图。

希望有人能够找到一种方法使其可用于较低的API级别,因为统计数据仍然表明很多人都有API 10。


编辑:链接已经死了。但是,使用RecyclerView可以实现这一点。 您甚至可以使用滑动删除功能,如here所示。