Вот мой код.
Код: Выделить всё
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GraphicsView myview = new GraphicsView(this);
setContentView(myview);
}
}
class GraphicsView extends View {
public GraphicsView(Context context) {
super(context);
}
float touchX = 0;
float touchY = 0;
@Override
protected void onDraw(Canvas canvas) {
Paint TextPaint = new Paint();
TextPaint.setColor(Color.BLACK);
TextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
TextPaint.setTextSize(50);
TextPaint.setStyle(Paint.Style.STROKE);
Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
canvas.drawBitmap(myBitmap, touchX - (myBitmap.getWidth() / 2), touchY - (myBitmap.getHeight() / 2), null);
canvas.drawText(touchX + " | " + touchY, 0, 50, TextPaint);
}
public boolean onTouchEvent(MotionEvent event){
/*if(event.getAction() == MotionEvent.ACTION_DOWN){
touchX = event.getX();
touchY = event.getY();
invalidate();
}*/
if(event.getAction() == MotionEvent.ACTION_MOVE){
touchX = event.getX();
touchY = event.getY();
invalidate();
}
return true;
}
}
Мне не понятно как узнать фактическое положение картинки на канве?
Например у меня будет 2 картинки на канве, я хочу потянув за нужную мне картинку она начала перемещение, для этого надо знать куда я тыкнул пальцем (с этим проблем нет) и попал ли я пальцем на картинку, тут мне и необходимо месторасположение картинки.
Еще вопрос на будущее, если одну область перекрывают 2 картинки, и я тащу за эту область, как мне узнать которая сверху и какую тащить?
спасибо.