将手指拖过视图并使其工作

时间:2016-11-06 14:34:21

标签: android android-studio

我正在进行一项活动,其中会有一个中心的视图。 这是如何工作的。当我在屏幕上随机拖动手指时,只有当我的手指处于此视图的边界时,此视图才会动作。

我的代码(不正确只是想知道我的想法是否正确):

firstlayout.setOnTouchListener(new View.OnTouchListener() {


            @Override
            public boolean onTouch(View v, MotionEvent event) {
                float x = event.getX();
                float y = event.getY();
                if ( (firstlayout.getLeft() <= x <= firstlayout.getRight()) &&
                        (firstlayout.getTop() <= y <= firstlayout.getBottom())
                        )
                {
                    Log.i("A", "Motion Event is currently above firstlayout");
                    firstlayout.dispatchTouchEvent(event);
                }

                return true;
                }
                return false;
            }
        });

有一个错误:运算符&lt; =无法应用于'boolean','int' 如果可以,请写一些代码示例 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

这不是有效的Java:

firstlayout.getLeft() <= x <= firstlayout.getRight()

相反,你必须做

(firstlayout.getLeft() <= x) && (x <= firstlayout.getRight())

此外,只有在视图范围内发生触摸时,您的视图才能接收触摸事件。您无需手动检查边界。