J'attache une image dans ma mise en page. Ici, je veux obtenir les coordonnées de mon centre imageview. Je vais utiliser ces mêmes coordonnées pour définir mon imageview dans la mise en page suivante. S'il vous plaît, suggérez-moi comment obtenir les coordonnées du centre de mon imageview.
Merci d'avance
le centre de l'imageView sera
centreX=imageView.getX() + imageView.getWidth() / 2;
centreY=imageView.getY() + imageView.getHeight() / 2;
mais assurez-vous de l'appeler après la création de l'imageView
Vous pouvez utiliser getPivotX()
et getPivotY()
, il reste toujours au centre de la vue même en rotation.
Essaye ça :
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));
J'espère que cela vous aide.
Merci.
Comme @aiueoH l’a mentionné, vous pouvez utiliser getPivotX() and getPivotY()
.
Essayez d’utiliser ceci pour trouver les coordonnées du centre:
int centreX = view.getPivotX()/2;
int centreY = view.getPivotY()/2;
si vous souhaitez aligner une vue au centre d'une autre vue, vous pouvez utiliser ceci -
float center_x = parent_view.getX() + parent_view.getWidth()/2 - child_view.getWidth()/2;
et puis évidemment en utilisant -
child_view.setX(center_x);