拖拽功能:让图片在屏幕上任意移动
public class DragExampleActivity extends Activity {
Bitmap mBitmap;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
setContentView(new DragView(this));
}
@Override
protected void onDestroy()
{
super.onDestroy();
if(null != mBitmap) {
mBitmap.recycle();
mBitmap = null;
}
}
private class DragView extends View {
private int mMotionX = 0;
private int mMotionY = 0;
private Paint paint;
public DragView(Context context)
{
super(context);
paint = new Paint();
}
@Override
public void draw(Canvas canvas)
{
super.draw(canvas);
canvas.drawBitmap(mBitmap, mMotionX, mMotionY, paint);
}
@Override
public boolean onTouchEvent(MotionEvent ev)
{
if(ev.getAction() == MotionEvent.ACTION_DOWN)
{
mMotionX = (int) ev.getX();
mMotionY = (int) ev.getY();
invalidate();
return true;
}else {
return super.onTouchEvent(ev);
}
}
}
}