自己判断下手势,控制结果view的显示和隐藏

解决方案 »

  1.   

    对下面控件重写ontouch, 做一个可以上下拖动的效果, 如果拖到一半松手就做一个translate animation滑到上面去
      

  2.   


    这个拖动到什么位置就停留在什么位置,希望指点具体点仅供参考, 根据自己需求改吧
    private class MyOnTouchListener implements OnTouchListener {
    public boolean onTouch(View v, MotionEvent event) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    lastX = (int) event.getRawX();  
    lastY = (int) event.getRawY();  
    break;
    case MotionEvent.ACTION_MOVE:
    int dx = (int)event.getRawX() - lastX;  
    int dy = (int)event.getRawY() - lastY;  
              
    int left = v.getLeft() + dx;  
    int top = v.getTop() + dy;  
    int right = v.getRight() + dx;  
    int bottom = v.getBottom() + dy;                      
    if (left < 0){  
    left = 0;  
        right = left + v.getWidth();  
    }                     
    if (right > screenWidth){  
    right = screenWidth;  
        left = right - v.getWidth();  
    }                     
    if (top < 0) {  
    top = 0;  
    bottom = top + v.getHeight();  
    }                     
    if(bottom > screenHeight){  
    bottom = screenHeight;  
        top = bottom - v.getHeight();  
    }                     
    v.layout(left, top, right, bottom);  
    lastX = (int) event.getRawX();  
    lastY = (int) event.getRawY();                    
    break;  
    }
    return false;
    }
    }
      

  3.   


    我在布局里放一个控件的时候发现时可以拖动的,但是放一组控件的时候为什么不能拖动?
    比如我在LinearLayout 中放多个控件,想要拖动这个LinearLayout。