作者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
→ gohomexx:ListView有一個function叫pointToPosition 01/14 18:38
→ gohomexx:你丟click的座標進去,他會自動幫你換算item位置 01/14 18:38
→ gohomexx:就可以得到item了,不用再去處理onClick 01/14 18:39
→ jakevin:酷耶!! 沒用過還真的不知道 感謝你 01/14 19:59