为了账号安全,请及时绑定邮箱和手机立即绑定

android中的DoubleTap

android中的DoubleTap

慕斯709654 2019-12-02 11:01:40
我需要创建一个小的文本区域。当我双击该文本区域时,它将移至下一个活动。我该怎么做?
查看完整描述

3 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

更好的选择是创建一个轻量级的Abstract类


public abstract class DoubleClickListener implements OnClickListener {


    private static final long DOUBLE_CLICK_TIME_DELTA = 300;//milliseconds


    long lastClickTime = 0;


    @Override

    public void onClick(View v) {

        long clickTime = System.currentTimeMillis();

        if (clickTime - lastClickTime < DOUBLE_CLICK_TIME_DELTA){

            onDoubleClick(v);

            lastClickTime = 0;

        } else {

            onSingleClick(v);

        }

        lastClickTime = clickTime;

    }


    public abstract void onSingleClick(View v);

    public abstract void onDoubleClick(View v);

}

并像这样使用


 view.setOnClickListener(new DoubleClickListener() {


        @Override

        public void onSingleClick(View v) {


        }


        @Override

        public void onDoubleClick(View v) {


        }

    });


查看完整回答
反对 回复 2019-12-02
?
ITMISS

TA贡献1871条经验 获得超8个赞

下面的代码使用非常简单的逻辑


    boolean firstTouch = false;

        @Override

        public boolean onTouchEvent(MotionEvent event) {

            if(event.getAction() == event.ACTION_DOWN){

                if(firstTouch && (Helper.getCurrentTimeInMilliSeconds() - time) <= 300) {

                    //do stuff here for double tap

                    Log.e("** DOUBLE TAP**"," second tap ");

                    firstTouch = false;


                } else {

                    firstTouch = true;

                    time = Helper.getCurrentTimeInMilliSeconds();

                    Log.e("** SINGLE  TAP**"," First Tap time  "+time);

                    return false;

                }

            }

            return true;

    }


查看完整回答
反对 回复 2019-12-02
  • 3 回答
  • 0 关注
  • 553 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信