java 触摸/点击/滑动/手势等各种事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 触摸/点击/滑动/手势等各种事件相关的知识,希望对你有一定的参考价值。

/**
 * 标准双击、多击事件(推荐使用)
 * 在intervalTime(ms)时间内点击了clickTimes次,就执行TODO逻辑
 */
public void clicks(long intervalTime, int clickTimes) {
    long[] mArrs = new long[clickTimes];

    //src    源数组
    //srcPos 源数组的开始拷贝位置
    //dst    目标数组
    //dstPos 目标数组的开始拷贝位置
    //length 数组的拷贝长度
    System.arraycopy(mArrs, 1, mArrs, 0, mArrs.length - 1); //拷贝数组
    mArrs[mArrs.length - 1] = SystemClock.uptimeMillis();
    if (mArrs[0] >= (SystemClock.uptimeMillis() - intervalTime)) {
        Log.d("clickEvent", "clickTimes次点击事件已发生,开始执行TODO");
        // TODO
    }
}

/**
 * 使用Scroller实现平滑滑动
 */
Scroller mScroller = new Scroller(context);
// 平滑滑动到指定位置
private void smoothScrollTo(int destX, int destY) {
    int scrollX = getScrollx();
    int delta = destX - scrollX;
    // 1000ms 内滑向destX, 效果就是平滑滑动
    mScroller.startScroll(scrollX, getScrollY(), delta, getScrollY(), 1000);
    invalidate();
}
// 重写View的方法执行滑动
@Override
public void computeScroll() {
    if (mScroller.computeScrollOffset()) {
        scrollTo(mScroller.getCurrX(), mScroller.getCurrX());
        postinvalidate();
    }
}

以上是关于java 触摸/点击/滑动/手势等各种事件的主要内容,如果未能解决你的问题,请参考以下文章

使 UIControl 仅接受滑动手势并传递触摸/点击手势

当用户滑动并点击手指(使用触摸手势)时如何隐藏所有 CollectionViewCell?

Flutter(五)手势GestureDetector

Flutter了解之手势

android怎样可以控制手势滑动的

iOS开发系列--触摸事件手势识别摇晃事件耳机线控