android - ListView滑动删除,左右滑动会导致上下跟着滑动,求解决办法
黄舟
黄舟 2017-04-17 17:00:15
0
2
759
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(2)
巴扎黑

沒有看你的程式碼,但是遇到過相同的問題,首先你需要判斷手指位移來判斷當前Touch事件應該被哪個組件捕獲,就比如你當前的左右滑動,當前你的組件有你的listview,還有你listview裡面的每一個item。這樣一切都明白了,就好做了。貼個實例吧,不然也不真誠。

class YScrollDetector extends GestureDetector.SimpleOnGestureListener {
    @Override
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
        
        if (Math.abs(distanceX) >= Math.abs(distanceY)) {
            //父亲不滑动
            setParentScrollAble(false);
            return true;
        }else{
            setParentScrollAble(true);
        }
        return false;
    }
}

這個用來判斷左右滑動,並選擇組成捕獲。

private void setParentScrollAble(boolean flag) {
    if(parentListView!=null){
        parentListView.requestDisallowInterceptTouchEvent(!flag);
    }
}

這個用來分發事件

Ty80

如果還沒解決的​​話你可以嘗試的看下這個開源範例:https://github.com/timroes/EnhancedListView支援你說的側滑刪除

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板