Определить координаты картинки на канве

Ответить
Night_Scream
Сообщения: 54
Зарегистрирован: 23 сен 2013, 10:51

Определить координаты картинки на канве

Сообщение Night_Scream » 03 авг 2015, 14:42

Добрый день.
Вот мой код.

Код: Выделить всё

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 картинки, и я тащу за эту область, как мне узнать которая сверху и какую тащить?

спасибо.

Ответить