android – 带按钮的自定义视图实现OnGestureListener

前端之家收集整理的这篇文章主要介绍了android – 带按钮的自定义视图实现OnGestureListener前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在过去的几个小时里,我一直在打破我的头脑,用Google搜索谷歌,而StackOverflow或其他地方的例子都没有为我工作,所以在这里……

我有一个自定义视图,它扩展了LinearLayout并实现了GestureDetector.OnGestureListener.

在我的自定义布局中,我有3个按钮,每个按钮都有一个点击监听器.
我想要的是能够在视图中随处运行以执行某些操作,但也能够单击按钮.

如果我在视图内部而不是通过其中一个按钮,我的onFling功能非常有用.
如果我扔过其中一个按钮,它会在大多数情况下执行单击,或者在某些情况下执行任何操作.

这是我的代码的相关部分:

@Override
    public boolean onFling(MotionEvent e1,MotionEvent e2,float velocityX,float velocityY) {
        if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) {
            return false;
        }
        // right to left swipe
        if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
                && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
            viewFlipper.setInAnimation(slideLeftIn);
            viewFlipper.setOutAnimation(slideLeftOut);
            viewFlipper.showNext();
            return true;

        } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
                && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
            viewFlipper.setInAnimation(slideRightIn);
            viewFlipper.setOutAnimation(slideRightOut);
            viewFlipper.showPrevIoUs();
            return true;
        }

        return false;
    }

    @Override
    public boolean onDown(MotionEvent e) {
        // TODO Auto-generated method stub
        return true;
    }

    @Override
    public void onLongPress(MotionEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public boolean onScroll(MotionEvent e1,float distanceX,float distanceY) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public void onShowPress(MotionEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public boolean onSingleTapUp(MotionEvent e) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (gestureDetector.onTouchEvent(event)) {
            return gestureDetector.onTouchEvent(event);
        }
        return false;
    }

尝试任何返回true的组合;返回虚假;我能想到…会感激任何帮助! 原文链接:https://www.f2er.com/android/314522.html

猜你在找的Android相关文章