作者jakevin (真。假凯文)
看板AndroidDev
标题Re: [问题] ListView 滑动移除 item
时间Sun Jan 13 00:38:07 2013
想法
用onClick 确认哪个 item被选到
用onTouch event.ACTION_MOVE
去抓 event.getX 由左往右移动多少
如果 由左向右移动够多
就把这个item从 List中移除
不知道这样的做法是否合用?
※ 引述《gohomexx (gohomexx)》之铭言:
: 刚好我最近有研究了一下,
: ICS 的 notification ,是往左右滑动一段距离後就
: 能把那个通知删除,但原始码看起来,它的每一个通知
: 都是一个很复杂的 layout ,中间包含了 scroll view
: 等等元件,所以你可以很顺畅的滑来滑去,滑到一定
: 距离才会删除。
: 简单一点的作法,自己 coding ListView 的 onTouchEvent
: 找到某一个 view 後,设定该 view 的 padding ,
: 可以作出和 ics 很类似的效果。
: 我查到很多 issue 指出 android 原生的 gesture detector
: 并不 reliable ,不过 fling 这个动作牵涉到加速度,
: 所以你必需读取 touch event 间的时间差,再作一些调整。
: 我觉得这还蛮麻烦的, android 的硬体规格太多了,
: 加速度的感觉很难调。
: 大概会用到 ListView.pointToPosition 以及 ListView.getFirstVisiblePosition
: 这两个 method 。
: 以上一点小小心得分享。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.190.83
1F:→ gohomexx:ListView有一个function叫pointToPosition 01/14 18:38
2F:→ gohomexx:你丢click的座标进去,他会自动帮你换算item位置 01/14 18:38
3F:→ gohomexx:就可以得到item了,不用再去处理onClick 01/14 18:39
4F:→ jakevin:酷耶!! 没用过还真的不知道 感谢你 01/14 19:59