Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中获取视图的中心x,y?_Android_Android Imageview - Fatal编程技术网

如何在android中获取视图的中心x,y?

如何在android中获取视图的中心x,y?,android,android-imageview,Android,Android Imageview,我正在我的框架布局上附加一个imageview。这里我想得到我的imageview中心坐标。我将使用相同的坐标在下一个布局中设置imageview。请建议我如何获得imageview的中心坐标 提前感谢图像视图的中心将 centreX=imageView.getX() + imageView.getWidth() / 2; centreY=imageView.getY() + imageView.getHeight() / 2; 但请确保在创建imageView后调用它,请尝试以下操作:

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


提前感谢

图像视图的中心将

 centreX=imageView.getX() + imageView.getWidth()  / 2;
 centreY=imageView.getY() + imageView.getHeight() / 2;
但请确保在创建imageView后调用它,请尝试以下操作:

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));
希望这对你有帮助


谢谢。

您可以使用
getPivotX()
getPivotY()
,即使旋转视图,它也始终保持在视图中心。

正如@aiueoH提到的,您可以使用
getPivotX()和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);

在创建视图之后?您尝试过什么?当api级别低于11时,似乎无法使用getX()和getY()。如果imageView被缩放,该怎么办?此解决方案仅与父视图相关。如果您希望它是全局的,您应该使用getLocationOnScreen或getLocationInWindow方法Scentrex和centreY将是浮动的,请添加一些关于此答案如何帮助修复当前问题的解释issue@aiueoH:有可能得到中心吗?也许不需要除以2?“如果未设置轴,则轴将成为视图的中心。”