Android上下左右滑动,显示底层布局

时间:2023-03-08 17:56:46
Android上下左右滑动,显示底层布局

转载博客地址:http://www.cnblogs.com/flyme2012/p/4106308.html

闲着没事做了一个小东西。Android的上下左右滑动,显示底层布局。可以做类似于QQ消息列表的删除功能。

看效果:
Android上下左右滑动,显示底层布局
实现基本原理:
前段时间学习了一下ViewDragHelper类,大概的就是通过这个类来控制的上下左右的滑动,方便的很多啊,也是很简单的代码,可以参考
我之前的关于ViewDragHelper的博客文章,这里面主要做的工作就是对触摸事件的传递,需要将触摸事件传递给底层的布局。
 @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        switch (ev.getAction()) {
        case MotionEvent.ACTION_DOWN:
            startX = (int) ev.getX();
            startY = (int) ev.getY();
            if (bottomState == DEFULT_BOTTOM || bottomState == DEFULT_TOP) {
                bottomView.dispatchTouchEvent(ev);
            }
            topView.dispatchTouchEvent(ev);
            break;
        case MotionEvent.ACTION_UP:
            int moveX2 = (int) ev.getX();
            int moveY2 = (int) ev.getY();
            if (Math.abs((moveY2 - startY)) < 8 ) {
                if (getStatusState() == Status.Open && (bottomState == DEFULT_BOTTOM ||     bottomState == DEFULT_TOP)) {
                    bottomView.dispatchTouchEvent(ev);
                }else if (getStatusState() == Status.Close) {
                    topView.dispatchTouchEvent(ev);
                }
            }else {
                onTouchEvent(ev);
                return true ;
            }
            break;
        }
        return super.dispatchTouchEvent(ev);

}

我的github地址:https://github.com/flyme2012
我的博客地址:http://www.cnblogs.com/flyme2012/