如何将文本视图移动一点后将其设置回原始位置?

时间:2017-01-19 11:35:03

标签: android timer ontouchlistener ontouchevent

我有点新鲜,但我真的很开心想出这些东西。希望你不介意帮助我,因为我被卡住了。

这是我的OnTouchListener。它用于显示计时器,如果有人移动显示时间的视图,我希望计时器关闭。

我需要它以便视图移动到某个点然后它实现。否则它会与点击手势有点混淆。我要设置它,以便定时器在点击时暂停。

问题是。我将视图设置为“GONE”,这样在移动后你就不会看到它,但我仍然需要视图返回原来的位置,这样当下一个计时器再次启动时,它将被重置。

    //setOnTouchListener Here
    zoneATimerText.setOnTouchListener(new View.OnTouchListener() {


        @Override
        public boolean onTouch(View view, MotionEvent event) {

            switch (event.getAction()) {

                case MotionEvent.ACTION_DOWN:

                    dX = view.getX() - event.getRawX();
                    dY = view.getY() - event.getRawY();
                    break;

                case MotionEvent.ACTION_MOVE:
                    destroyCountDownTimer();
                    view.animate()
                            .x(event.getRawX() + dX)
                            .y(event.getRawY() + dY)
                            .setDuration(0)
                            .start();
                    Log.v("on move", "you're moving");
                    break;
                default:
                    return true;
            }
            return true;
        }
    });

1 个答案:

答案 0 :(得分:0)

保存视图的原始位置,即x,y在类级别,当动画完成时,隐藏视图,当时可见,只需使用方法重置视图的位置位置(view.setX() ,view.setY())。