Package Com.android.drag;import android.app.Activity; Import Android.content.Context; Import Android.graphics.Canvas; Import Android.graphics.Color; Import Android.graphics.Paint; Import Android.os.Bundle; Import Android.util.DisplayMetrics; Import android.view.MotionEvent; Import Android.view.View; /** * Android through gestures to achieve image drag and drop function * @author Administrator * */ public class Dragactivity extends activity { /** called the activity is a. */ @Override public void OnCreate (Bundle savedinstancestate) { Super.oncreate (savedinstancestate); Setcontentview (R.layout.main); View view = new Imagedragview (this);
Setcontentview (view); } Class Imagedragview extends View { private float x1; private float Y1; private float x2; private float y2; Public Imagedragview { Super (context); TODO auto-generated Constructor stub } @Override public boolean ontouchevent (Motionevent event) { TODO auto-generated Method Stub Float size = event.getsize (); int szi = (int) size; int dxi = Szi >> 12; int dyit = ((1 << 12)-1); int dyi = Szi & dyit; Displaymetrics metrics = getresources (). Getdisplaymetrics ();
FLOAT dx = metrics.widthpixels * DXi/(float) dyit; float dy = metrics.heightpixels * Dyi/(float) dyit; X1 = Event.getx (); Y1 = Event.gety (); x2 = x1 + dx; y2 = y1 + dy; Invalidate (); return true; } @Override protected void OnDraw (Canvas Canvas) { TODO auto-generated Method Stub Super.ondraw (canvas); float R = (float) math.sqrt ((x1-x2) * (X1-X2) + (Y1-Y2) * (Y1-Y2))/2; R = >= r? 100:r; Paint Paint = new Paint (); Paint.setcolor (color.red); Canvas.drawcircle (x1, y1, R, Paint); } } |