我怎样才能获得我在Android中的视图中心x,y?

Rag*_*ddy 31 android android-imageview

我在我的框架布局上添加了一个imageview.在这里,我想得到我的imageview中心坐标.我将使用相同的坐标在下一个布局中设置我的imageview.请建议我如何获得我的imageview的中心坐标.

提前致谢

Moh*_*eem 73

imageView的中心将是

 centreX=imageView.getX() + imageView.getWidth()  / 2;
 centreY=imageView.getY() + imageView.getHeight() / 2;
Run Code Online (Sandbox Code Playgroud)

但请确保在imageView创建后调用它

  • 此解决方案仅相对于父视图。如果希望它是全局的,则应使用getLocationOnScreen或getLocationInWindow方法 (4认同)

aiu*_*eoH 6

您可以使用getPivotX()getPivotY(),它始终保持在视图中心甚至旋转视图.


Pra*_*rma 5

尝试这个 :

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));
Run Code Online (Sandbox Code Playgroud)

希望这对您有帮助。

谢谢。