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

and*_*per 7 android android-animation android-listview

我希望能够以一种方式从列表视图中删除项目,以便为已删除的项目及其下方的项目设置动画,其方式与API演示中的layoutAnimations演示相似.

例如:

在此输入图像描述

在这里,我希望删除项目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);
Run Code Online (Sandbox Code Playgroud)

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

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

我也注意到有关此问题的类似帖子,但我发现它只是你需要修改listView代码,但没有真正的解决方案.

顺便提一下,最小sdk是9.

and*_*per 0

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

可以在此处找到示例。

该网站还有其他不错的示例和很酷的 Android UI 视图。

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


编辑:链接已失效。但是,使用 RecyclerView 可以实现这一点。您甚至可以拥有滑动删除功能,如此所示。