我正在开发一个应用程序,我希望在ListView中实现滑动到解除功能 - 类似于我们在Android 4.0的通知栏,最近的应用列表或浏览器标签中看到的功能。我想在运行Android 2.2+的设备上运行该应用程序。请参见下图。我还想改变被擦掉项目的透明度 - 就像在ICS中一样。
我在http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.0.1_r1/com/android/browser/TabScrollView.java?av=f上检查了ICS网络浏览器的来源,但无法确定哪个类特别负责实现此功能。
有人能指出我在正确的方向吗?我们可以使用Android兼容性库吗?请告诉我。非常感谢。
答案 0 :(得分:3)
我也考虑过实现这样一个功能,但我还没有完成。所以我唯一能提供的就是 I 如何解决这个问题。如果我最终写了一些代码,我会在这里发布。
ListAdapter
(ArrayAdapter,SimpleCursorAdapter等)。dx
,它就会调用concernedView.offsetLeftAndRight(dx)
(这将使视图可拖动)。当然适配器必须保存视图的当前水平偏移量。如果用户正在拖动视图并从屏幕上移除他/她的手指,则touchListener也会检测到这一点并开始向后滑动动画。使用当前偏移量我们也可以计算一个alpha值,因此当它接近屏幕边界时视图会淡出。这些只是我对这个问题的一些想法,可能会帮助一些人开始解决这个问题。就像我说的那样,我可能会在未来的某个时候实施,当然我会在这里发布代码 我很感激评论中的任何反馈,但我不想彻底解释我的想法的每一个方面,这将花费我太多的时间;)
答案 1 :(得分:0)
我知道这是一个很老的问题,但是对于仍然在寻找这个问题的人,你可以在这里查看Roman Nurik的图书馆:https://github.com/romannurik/Android-SwipeToDismiss
这显示了如何为列表视图和普通视图创建所需的行为。