Android déplacer la vue sur la touche de l'événement

Je voudrais déplacer les deux points de vue différents dans ma mise en page, de sorte qu'un utilisateur peut voir ça comme il le souhaite.

Jusqu'à présent, j'ai fait le code suivant pour gérer l'événement tactile:

this.viewEvent.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent event)
    {           
        final int y = (int) event.getRawY();

        RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) view.getLayoutParams();
        switch (event.getAction() & MotionEvent.ACTION_MASK)
        {
            case MotionEvent.ACTION_DOWN:
                element.setEventY(y - params.topMargin);
                break;

            case MotionEvent.ACTION_UP:
                viewGroup.invalidate();
                break;

            case MotionEvent.ACTION_POINTER_DOWN:
            case MotionEvent.ACTION_POINTER_UP:
                break;

            case MotionEvent.ACTION_MOVE:
                params.topMargin = y - element.getEventY();
                params.bottomMargin = screenHeight - view.getHeight() - params.topMargin;

                //Avoid out of screen
                if (params.topMargin < 0) return true;

                //Apply changes
                view.setLayoutParams(params);
                break;
        }

        return true;
    }
});

element est une instance d'un objet personnalisé pour gérer la position.
screenHeight est la hauteur de l'écran donnée par le Display classe.

Je suis en mesure de déplacer l'élément, mais c'est à clignoter quand je le touche et une fois j'ai mis mon doigt vers le haut, la vue juste de disparaître. Je ne peux même pas à le récupérer, il est juste hors de l'écran.

Ai-je fais quelque chose de mal ?

Merci pour votre aide

OriginalL'auteur Manitoba | 2014-04-16