Android的 - 被拖出一个区域停止阴影 [英] Android - Stop shadow from being dragged out of a zone

查看:160
本文介绍了Android的 - 被拖出一个区域停止阴影的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不能就如何离开特定区域被拖拽的时候停止的阴影锻炼。

I can't work out on how to stop the shadow from leaving a specific zone when being dragged.

你对如何做到这一点任何想法?

Do you have any idea on how to do that?

感谢的提前

推荐答案

确定,所以最后只用onTouch的工作了:

OK, so I finally worked it out with only a onTouch:

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

        // Handles each of the expected events
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:

            if (initPosX == 0 && initPosY == 0) {
                initPosX = myImage.getX();
                initPosY = myImage.getY();
            }

            // First finger down
            text.setText("ACTION_DOWN x: " + event.getRawX() + ", y: " + event.getRawY());
            break;
        case MotionEvent.ACTION_UP:
            // Last finger to be removed
            text.setText("ACTION_UP x: " + event.getRawX() + ", y: " + event.getRawY());
            myImage.setX(initPosX);
            myImage.setY(initPosY);
            break;
        case MotionEvent.ACTION_MOVE:
            // A finger moves

            float calc_X = event.getRawX() - initPosX / 2 + myImage.getWidth() / 2;
            float calc_Y = event.getRawY() - initPosY / 2 - myImage.getHeight() / 2;

            if(calc_X > initPosX - delta && calc_X < initPosX + delta)
                myImage.setX(calc_X);

            if(calc_Y > initPosY - delta && calc_Y < initPosY + delta)
                myImage.setY(calc_Y);

            text.setText("X: " + event.getRawX() + "\nY: " + event.getRawY());

            break;
        }

        return true;
    }

它的这种耻辱,虽然onDragListtener是不能够做这样一个基本的东西......我猜的Andr​​oid剧组是故意的。

It's such a shame though onDragListtener is not capable of doing such a basic stuff... I guess the Android crew did it on purpose.

特别感谢pskink。

Special thanks to pskink.

这篇关于Android的 - 被拖出一个区域停止阴影的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆