Sí. Depende de lo que estás tratando de lograr.
Se puede hacer uso de las API estándar, pero esta funcionalidad no es parte de las API estándar. Es decir, no hay un método widget.DragOverHere()
a menos que escriba uno.
Dicho esto, no sería terriblemente complicado de hacer. Como mínimo, necesitaría escribir una subclase personalizada de Ver e implementar dos métodos: onDraw(Canvas c)
y onTouch(MotionEvent e)
. Un esbozo:
class MyView extends View {
int x, y; //the x-y coordinates of the icon (top-left corner)
Bitmap bitmap; //the icon you are dragging around
onDraw(Canvas c) {
canvas.drawBitmap(x, y, bitmap);
}
onTouch(MotionEvent e) {
switch(e.getAction()) {
case MotionEvent.ACTION_DOWN:
//maybe use a different bitmap to indicate 'selected'
break;
case MotionEvent.ACTION_MOVE:
x = (int)e.getX();
y = (int)e.getY();
break;
case MotionEvent.ACTION_UP:
//switch back to 'unselected' bitmap
break;
}
invalidate(); //redraw the view
}
}