2 baidu 34589689 baidu_34589689 于 2016.04.28 14:27 提问

android想用ontouchevent写一个长按

我要做一个时钟的页面,这是我的java里的ontouchevent函数。
public boolean onTouchEvent(@NonNull MotionEvent event)
{
float angle = getAngle(new Point((int) event.getX(), (int) event.getY()),
new Point(mMidX, mMidY));
if (isClickable())
{
switch (event.getAction())
{
case MotionEvent.ACTION_MOVE:
if (Math.abs(mDownX - event.getX()) > mTouchSlop && (mAngleAnimator != null && !mAngleAnimator.isRunning()))
{
if (!IS_API_10)
{
updateCirle(angle);
postInvalidate();
}
}
break;
case MotionEvent.ACTION_DOWN:
mDownX = event.getX();
mIsFilled = mIsEmpty = false;
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
if (Math.abs(mDownX - event.getX()) < mTouchSlop)
{
if (!IS_API_10)
{
animateChange(angle);
mIsFilled = mIsEmpty = false;
}
}
break;

        }
    }
    return true;
}

我想在里面加一个长按的case,不会写,其实我也想过单独写一个长按的函数,关键我是新手,不知道应该在哪调用,所以只能在ontoucheevent里写了,有大神提供提供代码吗~~~~~

3个回答

baidu_34589689
baidu_34589689   2016.04.29 17:03

有没有大神能帮忙看看啊TAT~~~~~~

zhuxu123456789
zhuxu123456789   2016.05.04 16:28

有个简单的方法 是 你可以记录 用户按下和放开的时间, 对时间间隔进行比对,若间隔超过一定值,即可认为是长按。

eyishion
eyishion   2016.05.15 01:02

GestureListener接口里面有长按功能

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!