Нарисуйте растровое изображение в Custom ImageView и получите координаты ImageView независимо от устройства

Я хочу получить координатыImageView, Независимо от размера устройства.

Есть ли возможный способ !!

Я пытался создать определенный размер дляImageView, Даже определенный размер дляParent View также, но это не работает.

Я пробовал следующие возможные способы.

int[] posXY = new int[2];
imageview.getLocationOnScreen(posXY);
int MoveX = posXY[0];
int MoveY = posXY[1];

Я тоже пробовал с матрицей, но не работает.

Matrix m = imageview.getImageMatrix();

Пробовал приведенный ниже код, но он тоже не работает. !!

Мне нужно получить одинаковые {x, y} координаты для всех устройств для одной и той же точки (местоположение).

final float[] getPointerCoords(ImageView view, MotionEvent e)
    {
        final int index = e.getActionIndex();
        final float[] coords = new float[] { 
                e.getX(index), e.getY(index) 
                };
        Matrix matrix = new Matrix();
        view.getImageMatrix().invert(matrix);

        matrix.mapPoints(coords);

        return coords;
    }

Вот метод рисования:

если я устанавливаю растровое изображение при рисовании, оно не умещается на экране для всех устройств. Если я установлю изображение с шириной и высотой отображения, я получу разные координаты.

 @Override
    public void draw(Canvas canvas) {
        // TODO Auto-generated method stub
        super.draw(canvas);

        Resources res = getResources();
        Drawable drawable = res.getDrawable(R.drawable.subimage);
        mBitmap = ((BitmapDrawable) drawable).getBitmap();     
        canvas.drawBitmap(mBitmap, 0, 0, null);

    }

Любая идея или помощь будут действительно полезны.

Ответы на вопрос(0)

Ваш ответ на вопрос