在父边界内拖动(顶部/底部)

时间:2018-06-11 10:11:50

标签: java android drag-and-drop

是的,我已经找到了类似的问题,以及解决方案。可能只是不符合我的情况(或者我很遗憾可能很容易)

所以,我设法使用这样的Touch监听器垂直拖动视图:

playableAreaBackground.setOnTouchListener(new View.OnTouchListener() {
        float move_orgY;
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()){
                case MotionEvent.ACTION_DOWN:
                    move_orgY = event.getRawY();
                    break;

                case MotionEvent.ACTION_MOVE:
                    float offsetY = event.getRawY() - move_orgY;
                    playableAreaBackground.setY(playableAreaBackground.getY() + offsetY);
                    move_orgY = event.getRawY();
                    break;
            }
            return true;
        }
    });

playableAreaBackground是子视图

我想要实现的目标是:

  

将此视图拖动到其顶部的父级(break拖放视图)...同样适用于底部。

我尝试了什么:

if (playableAreaBackground.getTop() >= fadingEdgeLayout.getTop() || 
                      playableAreaBackground.getBottom() >= fadingEdgeLayout.getBottom())
                        break;

另外,我尝试使用Rect()对象,并检查它的界限 !parent.contains(left, top, right, bottom)但是这会把我的观点抛到父母的界限之外。

0 个答案:

没有答案