zoukankan      html  css  js  c++  java
  • Android上下左右滑动,显示底层布局

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

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

    看效果:
    2.gif
     
    实现基本原理:
    前段时间学习了一下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/
  • 相关阅读:
    针对cookie的处理
    多线程中变量的控制
    升级ADT到22后,编译失败
    android 开发常用插件合集
    Linux学习之CentOS(十九)Linux下文件的压缩与打包
    Linux学习之CentOS(二十六)Linux磁盘管理:LVM逻辑卷的创建及使用
    Linux学习之CentOS(二十七)Linux磁盘管理:LVM逻辑卷的拉伸及缩减
    Linux学习之CentOS(二十)CentOS6.4下修改MySQL编码方法
    MyWhois域名及IP注册信息查询
    BizTalk中常用到的表达式
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4204668.html
Copyright © 2011-2022 走看看