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

7
我希望能够以类似于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);

但是我该如何实现其他项目的漂亮效果,其中我实际上使用了一个可以循环利用其项目的listView?

在我提到的演示中,他们甚至没有使用listView。在我的情况下,这相当棘手,因为我有很多项目。

我还注意到了一个类似的帖子,但我发现关于它的所有内容都需要修改listView代码,但没有真正的解决方案。

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


你看过这个吗?https://dev59.com/U2865IYBdhLWcg3wNL07 - Amokrane Chentir
是的,我也在我的帖子末尾写了关于它的内容。:( - android developer
我不知道如何做,但也许可以查看在任何>= 4.0的通知绘制源代码。当涉及到直接在手指下弹出项目时,我没有看到它与SDK 9一起工作。您可能能够激活手势以在项目上注册滑动,但我没有看到它像您想要的那样平稳地发生。这只是我的个人意见。 - burmat
如果我有使用较新API的能力呢?对于较低的API,我将不会显示此动画... - android developer
我同意。下载源码需要一个小时左右的时间,而且我正在新电脑上工作,所以操作系统依赖可能会拖慢我的速度。如果我发现了有用的东西,我会再联系你的。 - burmat
显示剩余7条评论
1个回答

0

我找到了一个很好的示例,几乎做到了我想要的所有功能,但不幸的是它需要API 12才能运行,而且我成功地让它崩溃了。

这个示例可以在这里找到。

该网站还提供其他漂亮的示例和酷炫的Android UI视图。

希望有人能找到一种方法使其在较低的API级别下可用,因为统计数据仍然显示许多人使用API 10。


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


1
你在开玩笑吧?一个日语网站。 - Allan Ramírez
1
@AllanRamírez 很遗憾,链接已经失效了。那里有一个很好的示例。但是,这里有一个替代方案:https://github.com/romannurik/Android-SwipeToDismiss - android developer
@AllanRamírez 对此感到抱歉。这些示例代码非常大,因此在此处编写它们有点困难,所以我放了链接。Github存储库很少被删除,所以现在应该是安全的。 - android developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接