滑动以删除自定义视图而不是列表项

时间:2014-03-25 19:11:46

标签: android android-animation

我想开发一个布局,其中包含一个非常简单的ImageView和一个在Relativelayout中绑定的Listview。现在为了获得更好的用户体验,我想通过向左或向右滑动来删除图像视图,就像在Android Gmail应用中实现的删除电子邮件一样。

在listview项目上实现它非常简单,互联网上有许多tuts和示例代码,包括关于动画的官方Google I / O谈话,以及Chet Hasse在这里以非常好的方式解释

https://www.youtube.com/watch?v=YCHNAi9kJI4

但我不需要在listview项目上实现它,我希望以更通用的方式实现它。在我的情况下,我希望我的ImageView项目的行为与一个视图和ListView另一个相同。如下所示

layout

只要删除了ImageView项,整个ListView就会顺利地出现在顶部。

我尝试了很多方法来实现同样的方法而没有任何成功。

建议我使用Gingerbread及以上Android操作系统支持的方法或一些示例。

4 个答案:

答案 0 :(得分:9)

您可以使用此代码:

https://github.com/romannurik/Android-SwipeToDismiss/blob/master/src/com/example/android/swipedismiss/SwipeDismissTouchListener.java

readme中所述,此代码适用于Android 14 +。

您可以使用NineOldAndroids library来支持旧版本的Android,或者使用Jake Wharton的端口:

https://github.com/JakeWharton/SwipeToDismissNOA

答案 1 :(得分:1)

我环顾四周,发现这很有帮助。 https://github.com/nhaarman/ListViewAnimations

答案 2 :(得分:0)

我实现了一个自定义ViewGroup,它接受一个孩子,并允许您在滑动完成后通过回调将其拖动/向左拖动。我的目的是让它像在RecyclerView中一样工作。适用于具有animateLayoutChanges = true的LinearLayout,并在回调中将可见性设置为GONE。

请点击此处:https://gist.github.com/darnmason/38a1a5178a06470202784050f4dc1cdf

答案 3 :(得分:-2)