zl程序教程

您现在的位置是:首页 >  Java

当前栏目

setOnTouchListener使用记录

2023-02-18 16:34:09 时间

刚开始使用setOnTouchListener的时候,代码如下,一直监听不到ACTION_MOVE、ACTION_UP。很无语 查阅资料之后 原来只要把最后的return false 改成 true 就好了。 遂记录在此。

updateDialog.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                myPointerX = event.getX();
                break;
            case MotionEvent.ACTION_MOVE:
                nextPointerX = event.getX();
                float temp = nextPointerX - myPointerX;
                int mp = progesss.getProgress() + (int) (temp / 50);

                if (mp > 100) {
                    mp = 100;
                } else if (mp < 0) {
                    mp = 0;
                }

                progesss.setProgress(mp);
                progesss_value.setText(new StringBuffer().append(progesss.getProgress()).append("%"));
                showDialogPos();

                break;
            case MotionEvent.ACTION_UP:
                break;

        }
        //return false;
        return true;
    }
});