Android layout 如何在手指触摸的相对布局中移动图像?在android中

Android layout 如何在手指触摸的相对布局中移动图像?在android中,android-layout,touch-event,touchmove,Android Layout,Touch Event,Touchmove,我想用手指触摸移动图像。我正在使用相对布局。在行动中我会做什么?我在使用下面的代码 我想在手指触摸的相对布局中移动visacard visacard.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub

我想用手指触摸移动图像。我正在使用相对布局。在行动中我会做什么?我在使用下面的代码 我想在手指触摸的相对布局中移动visacard

visacard.setOnTouchListener(new View.OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                int eid = event.getAction();
                switch (eid) {


                    case MotionEvent.ACTION_DOWN:
                    {
                        int x = (int) event.getRawX();
                        int y = (int) event.getRawY();
                        break;
                    }


                    case MotionEvent.ACTION_MOVE:

                    {
                        RelativeLayout.LayoutParams mParams = (RelativeLayout.LayoutParams) visacard.getLayoutParams();
                        int x = (int) event.getRawX();
                        int y = (int) event.getRawY();
                        mParams.leftMargin = x - 50;
                        mParams.topMargin = y - 50;
                        visacard.setLayoutParams(mParams);
                        int visacard_width = visacard.getWidth() / 2;
                        int visacard_height = visacard.getHeight() / 2;
                        int i1 = x - visacard_width;
                        int j1 = y - visacard_height;
                        int k1 =  visacard.getWidth();
                        int l1 = visacard.getHeight();
                        visacard.setX(i1);
                        visacard.setY(j1);
//                        visacard_width = visacard.getWidth();
//                        visacard_height = visacard.getHeight();
                        visacard_top = visacard.getTop();
                        visacard_left = visacard.getLeft();
                        visacard_right = visacard.getRight();
                        visacard_bottom = visacard.getBottom();
                        text.setX(k1);
                        text.setY(l1);

                        break;
                    }
                    case MotionEvent.ACTION_UP:
                    {
                        break;
                    }

                    default:
                        break;
                }
                return true;
            }
        });

如果有人知道解决办法,请告诉我。谢谢

你的代码看起来不错,有什么问题吗?是的,我删除了一行,谢谢!:)