Ответ 1
центр изображения будет
centreX=imageView.getX() + imageView.getWidth() / 2;
centreY=imageView.getY() + imageView.getHeight() / 2;
но убедитесь, что вы вызываете его после создания imageView
Я прикрепляю изображение к моему макету фрейма. Здесь я хочу получить координаты центра изображения. Я буду использовать те же самые координаты, чтобы установить мое изображение в следующем макете. Пожалуйста, предложите мне, как получить координаты центра моего изображения.
Заранее спасибо
центр изображения будет
centreX=imageView.getX() + imageView.getWidth() / 2;
centreY=imageView.getY() + imageView.getHeight() / 2;
но убедитесь, что вы вызываете его после создания imageView
Вы можете использовать getPivotX()
и getPivotY()
, он всегда держит в центре обзора даже поворотное представление.
Попробуйте следующее:
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));
Надеюсь, это поможет вам.
Спасибо.
Как упоминалось в @aiueoH, вы можете использовать getPivotX() and getPivotY()
.
Попробуйте использовать это для нахождения координат центра:
int centreX = view.getPivotX()/2;
int centreY = view.getPivotY()/2;
если вы хотите выровнять представление в центре другого вида, вы можете использовать это -
float center_x = parent_view.getX() + parent_view.getWidth()/2 - child_view.getWidth()/2;
а затем, очевидно, используя -
child_view.setX(center_x);