Подтвердить что ты не робот

Как я могу получить центр x, y моего представления в android?

Я прикрепляю изображение к моему макету фрейма. Здесь я хочу получить координаты центра изображения. Я буду использовать те же самые координаты, чтобы установить мое изображение в следующем макете. Пожалуйста, предложите мне, как получить координаты центра моего изображения.

Заранее спасибо

4b9b3361

Ответ 1

центр изображения будет

 centreX=imageView.getX() + imageView.getWidth()  / 2;
 centreY=imageView.getY() + imageView.getHeight() / 2;

но убедитесь, что вы вызываете его после создания imageView

Ответ 2

Вы можете использовать getPivotX() и getPivotY(), он всегда держит в центре обзора даже поворотное представление.

Ответ 3

Попробуйте следующее:

ImageView my_image = (ImageView) findViewById(R.id.my_imageView);  

Rect rectf = new Rect();
my_image.getLocalVisibleRect(rectf);

Log.d("WIDTH        :",String.valueOf(rectf.width()));
Log.d("HEIGHT       :",String.valueOf(rectf.height()));
Log.d("left         :",String.valueOf(rectf.left));
Log.d("right        :",String.valueOf(rectf.right));
Log.d("top          :",String.valueOf(rectf.top));
Log.d("bottom       :",String.valueOf(rectf.bottom));

Надеюсь, это поможет вам.

Спасибо.

Ответ 4

Как упоминалось в @aiueoH, вы можете использовать getPivotX() and getPivotY().

Попробуйте использовать это для нахождения координат центра:

int centreX = view.getPivotX()/2;
int centreY = view.getPivotY()/2;

Ответ 5

если вы хотите выровнять представление в центре другого вида, вы можете использовать это -

float center_x = parent_view.getX() + parent_view.getWidth()/2 - child_view.getWidth()/2;

а затем, очевидно, используя -

child_view.setX(center_x);